在我的数据库中,我有一个Varchar条目:zZzMysql - 字符串中的大写字母
请注意大写字母。
我让使用输入他们的用户名和检查条目。但我试图通过完全写入用户名zzz使其出错 - 请注意全部小写。
Mysql说一切正常,并且它正在返回true,当我期待它返回false时。我究竟做错了什么。这里是我的函数($ DB是一个有效的数据库句柄):
function IsUsername($db, $Username)
{
$stmtIsUsername = $db->prepare("SELECT Username FROM members WHERE "
. "Username = :Username");
$stmtIsUsername->execute(array(':Username' => $Username));
$ret = ($stmtIsUsername && isset($stmtIsUsername) && $stmtIsUsername->rowCount() > 0) ? true : false;
$stmtIsUsername->closeCursor(); // mysql_free_result equivalent
return $ret;
}
在我的数据库用户名= ZZZ
我打电话以下($ DB是有效的)
$userInput = $_GET['username']; // Which is "zzz"
if(IsUsername($db, $userInput))
{
echo "All is OK";
} else
{
echo "The user is not valid";
}
的回声令人讨厌地“一切正常”。我究竟做错了什么?
重复:http://stackoverflow.com/questions/3936967/mysql-case-不敏感选择 –
它不是重复的。我想zZz和zzz是不同的。你的链接希望两者相同。 – Rewind