默认情况下,Mysqli返回不区分大小写的匹配项
我对Mysqli返回不区分大小写的匹配有一个奇怪的问题。在查询“TAUNO”时,它返回用户名为“TAUNO”的行。在查询“TaunO”时,它返回“TaunO”的id,“TaunO”是id更高的用户默认情况下,Mysqli返回不区分大小写的匹配项,mysql,Mysql,我对Mysqli返回不区分大小写的匹配有一个奇怪的问题。在查询“TAUNO”时,它返回用户名为“TAUNO”的行。在查询“TaunO”时,它返回“TaunO”的id,“TaunO”是id更高的用户 $query = "SELECT id FROM users WHERE username=?"; if ($n = $this->mysqli->prepare($query)) {
$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\u swedish\u ci”编码。您需要将列的排序更改为需要匹配的二进制,请检查此链接: 您还可以在列名之前添加二进制关键字,如下所示:
SELECT id FROM users WHERE BINARY username= 'TAUNO';