PHP-是否可以将会话名称插入数据库?

问题描述

因此,我正在使用PHP构建发布系统。 当用户想要创建帖子时,所有字段都需要填写,而我想做的就是将会话的名称插入数据库,例如,插入数据库“ Edward”,因为那将是会话的名称。 这是我想要做的:

<?php

session_set_cookie_params(86400*30,"/");
session_start();

require 'admin/config.php';
require 'functions.php';

if (isset($_SESSION['user'])) {
    require 'view/new.view.php';
} else {
    header('Location: index.php');
}

$connection = connect($bd_config);
if (!$connection) {
    header('Location: error.php');
}

$errors = '';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $title = cleanData($_POST['title']);
    $demo = cleanData($_POST['demo']);
    @$project_type = $_POST['project_type'];
    $content = $_POST['content'];
    $post_by = $_SESSION['user'];

    $errors = '';

    if (empty($title) or empty($demo) or empty($project_type) or empty($content)) {
        $errors .= '<p>Complete all the fields!</p>';
    } else {
        $statement = $connection->prepare("
            INSERT INTO posts (ID,title,demo,content,post_type)
            VALUES (null,:title,:demo,:content,:project_type)
        ");

        $statement->execute(array(
            ':title' => $title,':demo' => $demo,':project_type' => $project_type,':content' => $content,));

        $statement2 = $connection->prepare("
            INSERT INTO posts (post_by)
            VALUES ($post_by)
        ");

        $statement2->execute(array(
            $post_by
        ));

        header('Location: main.php');
    }   
}
?>

如您所见,我正在为2个SQL咨询执行2个statement变量,但是当我这样做时,它会引发以下错误:

<b>Fatal error</b>:  Uncaught PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'cesar' in 'field list' in C:\xampp\htdocs\bider\test2\new.php:52
Stack trace:
#0 C:\xampp\htdocs\bider\test2\new.php(52): PDOStatement-&gt;execute(Array)
#1 {main}
  thrown in <b>C:\xampp\htdocs\bider\test2\new.php</b> on line <b>52</b><br />

我猜这是'cesar'原因,因为这是会话名称。 有人可以帮忙吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)