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

时间:2014-10-14 14:33:31

标签: php sql session-cookies html-entities

这让我疯了几个星期,我只想在查询中包含一个$ _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') ?>

作为确保价值存在的测试,它可以完美运行。

我也试过列出&#34; SELECTS&#34;特别是,仍然没有。

这是PHP给我的错误:&#34;参数号无效:没有参数被绑定&#34;

2 个答案:

答案 0 :(得分:0)

试试这个

$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.

答案 1 :(得分:0)

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

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