【发布时间】:2014-01-30 09:05:39
【问题描述】:
我希望访问存储在会话中的登录用户 ID,并将其发布到查询中。所以像:
if(!empty($_SESSION['user_id'])) {
$_POST['user_id'] = $_SESSION['user_id'];
$ui = $_POST['user_id'];
} else {
$errors[] = 'Please login before posting a book for sale.';
}
然后在查询中:
if (empty($errors)) {
$q = 'INSERT INTO books (user_id, isbn, name, image, price) VALUES (?, ?, ?, ?, ?)';
$stmt = mysqli_prepare($dbc, $q);
mysqli_stmt_bind_param($stmt, 'isssd', $ui, $isbn, $bn, $i, $p);
mysqli_stmt_execute($stmt);
现在我已经知道第一个 IF 语句是不正确的,但是我这样发布它是为了让 PHP 用户可以看到我想要完成的工作。我试图弄清楚如何获取存储的变量 user_id,使其具有粘性,然后将其发布到查询中。谢谢!
【问题讨论】:
-
为什么要将它分配给 POST,而 then 分配给另一个变量并使用后者?你到底想做什么?为什么不直接绑定 $_SESSION 呢?
-
基本上我只是想将存储的变量添加到查询中,因为在数据库中它是一个索引值。
标签: php forms session session-variables sticky