想要在我的PHP SQL查询中使用SESSION变量


Want to use a SESSION variable in my PHP SQL Query

这几周来一直让我抓狂,我只想在查询中包含一个$_SESSION变量。

它在其他页面上都有效,但这一页、这一页和这个特定的页面都不起作用。

$query = "
    SELECT
        *
    FROM listings
    WHERE
    id = :id
    ";
    // Define our query parameter values
        $query_params = array(
            ':id' => htmlentities($_SESSION['user']['id'], ENT_QUOTES, 'UTF-8')
            );

这就是我最终得到的,据我所知,它应该像在其他页面上一样工作!

我试过衔接和回声,我试过只是会话,我试了POST,但它似乎不让它进来。

页面前面我有

<?php echo htmlentities($_SESSION['user']['id'], ENT_QUOTES, 'UTF-8') ?>

作为一种测试,以确保值存在,并且它可以完美地工作。

我也尝试过具体列出"SELECTS",但仍然没有。

以下是PHP给我的错误:"无效参数编号:没有绑定任何参数"

如果有效,请尝试此操作,假设你有$db作为你的数据库连接对象

$query = "
SELECT
    *
FROM listings
WHERE
id = :id
";
$stmt = $db->prepare($query);
$stmt->bindValue(':id', htmlentities($_SESSION['user']['id'], ENT_QUOTES, 'UTF-8'));

尝试这个

$paramSession = htmlentities($_SESSION['user']['id'], ENT_QUOTES, 'UTF-8');
$query_params = array(YOUR_PARAMS)
print_r($query_params); //edit his post adding the output of this.