我有这样的例子,其中$results_array
是一个内爆整数数组:
if ($stmt = $cxn->prepare('SELECT id FROM follows WHERE id IN (' . $results_array . ') AND user_id = ?')) {
$stmt->bind_param('i', $user_id);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($temp);
$final_array = array();
while($stmt->fetch()) {
$final_array[] = $temp;
}
$final_array = implode(',', $final_array);
$stmt->close();
}
问题出在查询的AND
检查中。如果我删除了AND
检查,它可以正常工作,但我需要在那里进行该检查。我该如何解决这个问题?
发布于 2014-11-23 05:44:49
尝试在屏幕上打印$results_array,以便知道数组的值,然后运行查询以确切地知道错误所在。
发布于 2014-11-23 11:26:29
您的查询使用的是问号占位符而不是:冒号,行$stmt->bind_param( 'i‘,$user_id);要使用1而不是’i‘。或者将SQL替换为和user_id = :i
https://stackoverflow.com/questions/27081896
复制相似问题