使用 PDO 插入会话数据

Insert session data with PDO

我在网上浏览了大约一个小时,但我不知道如何解决我的问题。 $_SESSION['username'] 中的用户名不能以我尝试过的方式存储在我的数据库中,所以我需要一些帮助。我有一个包含用户输入的表单,我也想用这些数据存储用户名。 table 填充了正确的数据,但 added_by col 仅获得 0 作为值。如何使用准备好的语句将用户名存储在数据库中?

到目前为止,这种组合已经尝试过但没有成功。

if (isset($_POST['submit'])) {
   $trackname = $_POST['trackname'];
   $year = $_POST['year'];
   $trackurl = $_POST['trackurl'];


$stmt = $DB_con->prepare("INSERT INTO tbl_music (trackname, year, url, added_by) 
VALUES (:trackname, :year, :url, :added_by)");

    $stmt->execute(array(
        ':trackname' => $trackname,
        ':year' => $year,
        ':url' => $trackurl,
        ':added_by' => $_SESSION['username']
));

例子

$username = $_SESSION['username'];

$stmt->bindParam(':trackname', $trackname);
$stmt->bindParam(':year', $year);
$stmt->bindParam(':url', $trackurl);
$stmt->bindParam(':added_by', $username);
$stmt->execute();

我可以回显来自 $_SESSION['username'] 的数据,但不能将其存储在数据库中。

根据要求,

我看到这种情况的唯一机会是您的 added_by 列是一个整数。

您的字符串进入,并转换为 int,使其成为零。