您好,
我想在这样的SQL请求中使用$_SESSION['id']
:
$jeLis = $db->query("SELECT * FROM bibliotheque WHERE user_id = $_SESSION['id']");
$resJeLis = $jeLis->fetchAll(PDO::FETCH_ASSOC);
这不起作用。我尝试使用连接".$_SESSION['id']."
因此,为简化起见,我尝试$_SESSION['id'] = $userID
然后编写
$jeLis = $db->query("SELECT * FROM bibliotheque WHERE user_id = $userID");
$resJeLis = $jeLis->fetchAll(PDO::FETCH_ASSOC);
但它也不起作用。
当我var_dump($_SESSION['id'])
时,我得到了一个结果。但是,当我$_SESSION['id'] = $userID
然后var_dump($userID)
时,我没有结果。
我做不到$_SESSION['id'] = $userID
?
我在某个地方犯了错误吗?
答案 0 :(得分:3)
你倒退了。
$userID = $_SESSION['id'];
或者你可以这样做:
$jeLis = $db->query("SELECT * FROM bibliotheque WHERE user_id = {$_SESSION['id']}");
答案 1 :(得分:1)
使用这种方式......
$userID = $_SESSION['id'];
答案 2 :(得分:0)
你的变量声明是错误的,它应该在你需要的第一面插入变量来声明然后等于value,所以在你的情况下
$userID = $_SESSION['id'];
答案 3 :(得分:0)
应该是
$userID = $_SESSION['id']
或使用卷曲支持:
$jeLis = $db->prepare("SELECT * FROM bibliotheque WHERE user_id = {$_SESSION['id']}");
您也可以使用prepare:
$jeLis = $db->prepare("SELECT * FROM bibliotheque WHERE user_id = ?");
$jeLis->execute(array($_SESSION['id']));
$resJeLis = $jeLis->fetchAll(PDO::FETCH_ASSOC);
答案 4 :(得分:0)
谢谢大家的帮助。我的代码正在运行。我不知道为什么我为测试我的网站创建的虚构帐户正在断开连接。所以,显然,它找不到$ _SESSION。