使用PDO插入会话数据

时间:2015-11-15 00:52:27

标签: php mysql session pdo prepared-statement

我在网上看了一个小时左右,我不知道如何解决我的问题。来自$ _SESSION ['用户名']的用户名无法以我尝试过的方式存储在我的数据库中,所以我希望得到一些帮助。我有一个表单,其中包含来自用户的输入,我想要存储用户名的数据。该表填充了正确的数据,除了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 ['用户名']的数据,但不能将其存储在数据库中。

1 个答案:

答案 0 :(得分:0)

按要求,

我发现这种情况的唯一机会是你的added_by列是一个int。

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