这是我的代码:
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
被错误解释。
我已经尝试将它转换为整数,然后将其放入查询中,没有骰子。有什么想法吗?
答案 0 :(得分:3)
尝试使用双引号。单引号不解释变量。"SELECT Name From Drink where P_Key = $s"
答案 1 :(得分:0)
像这样使用
"SELECT Name From Drink where P_Key = ".$s.""
您可以使用echo $query1