【问题标题】:PHP Query Not Understanding IntegerPHP查询不理解整数
【发布时间】:2013-03-26 04:00:35
【问题描述】:

这是我的代码:

    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 的解释不正确。

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

【问题讨论】:

  • 您不使用参数化查询是否有原因?

标签: php sql integer


【解决方案1】:

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

参考:PHP String Parsing

【讨论】:

  • 干得好。做到了。只要网站允许,我就会选择它作为答案。
【解决方案2】:

这样使用

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

您可以使用echo $query1找到不同之处

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    相关资源
    最近更新 更多