Mysqli使用COLLATE utf8_bin准备语句选择查询

时间:2017-07-11 06:01:18

标签: select prepared-statement collate

我想在检查密钥是否正确时区分大小写字母。我有这个问题:

stmt = $db->prepare("SELECT DISTINCT * FROM table WHERE id=? AND key=? 
COLLATE utf8_general_ci");
$stmt->bind_param("is", $id, $key);
$id = $_POST[id];
$key = $_POST["key"];
$stmt->execute();

有了这个,我收到一条消息:致命错误:调用布尔值

上的成员函数bind_param()

我的查询出了什么问题?!

1 个答案:

答案 0 :(得分:0)

似乎mysqli无法正确处理COLLATE。 '制备'返回FALSE,你得到错误。 为了能够执行该语句,您可以使用'查询'而不是准备'