我有一个奇怪的问题,Mysqli返回不区分大小写的匹配。在进行查询" TAUNO"时,它返回具有用户名" Tauno"的行。在查询" TaunO"它返回" Tauno"的id而" TaunO"是具有更高ID的用户。
$query = "SELECT id FROM users WHERE username=?";
if ($n = $this->mysqli->prepare($query)) {
$n -> bind_param('s',$this->recipient);
$n -> execute();
$n -> bind_result($uid);
$n -> fetch();
$n -> close();
}
我正在使用xampp如果重要且用户表有" latin1_swedish_ci"编码
答案 0 :(得分:1)
您需要将列的collate更改为需要匹配的二进制文件,请检查以下链接:
您还可以在列名称之前添加 BINARY 关键字:
SELECT id FROM users WHERE BINARY username= 'TAUNO';