PHP查询不理解整数

时间:2013-03-26 04:00:35

标签: php sql integer

这是我的代码:

    function display_name1($s){
        global $db;
        $query1 = 'SELECT Name From Drink where P_Key = $s';
        $r = $db->prepare($query1);
        $r->execute();
        $result = $r->fetchColumn();
        return $result;

        }

$s包含从P_Key返回的结果,这是一个自动递增的列。我希望能够给查询P_Key,它将返回我想要的那行中的任何变量。出于某种原因,这是行不通的。它什么都不返回。现在,如果我返回$s,那么它确实会显示它应该的数字,所以问题不在于$s变量本身。如果我从查询中取出$s,并用数字替换它,那么它就像它应该的那样返回饮料的名称,因此问题不在于数据库或查询。问题似乎是$s被错误解释。

我已经尝试将它转换为整数,然后将其放入查询中,没有骰子。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

尝试使用双引号。单引号不解释变量。"SELECT Name From Drink where P_Key = $s"

参考:PHP String Parsing

答案 1 :(得分:0)

像这样使用

"SELECT Name From Drink where P_Key = ".$s.""

您可以使用echo $query1

找到差异