0

这是我的代码:

    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,它将返回我想要的该行中的任何变量。出于某种原因,这不起作用。它什么也不返回。现在,如果我 return $s,那么它确实会显示应有的数字,因此问题不在于$s变量本身。如果我$s从查询中取出,并用数字替换它,那么它会返回饮料的名称,所以问题不在于数据库或查询。问题似乎$s是被错误地解释了。

我尝试在将其放入查询之前将其转换为整数,没有骰子。有任何想法吗?

4

2 回答 2

3

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

参考:PHP 字符串解析

于 2013-03-26T04:04:50.520 回答
0

像这样使用

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

您可以使用echo $query1

于 2013-03-26T04:12:37.650 回答