【问题标题】:Mysqli prepared statement select query with COLLATE utf8_bin [duplicate]带有COLLATE utf8_bin的Mysqli准备好的语句选择查询[重复]
【发布时间】:2017-12-15 01:01:36
【问题描述】:

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

$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()

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

【问题讨论】:

  • 您为什么要尝试使用已弃用的utf8 字符集?

标签: php mysql sql mysqli collate


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 2017-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多