$ _SESSION ['id'] = $ userID

时间:2013-05-15 15:33:49

标签: php session

您好,

我想在这样的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? 我在某个地方犯了错误吗?

5 个答案:

答案 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。