В моей базе данных У меня есть запись на varchar: zZzMysql - Прописные буквы в строках
Обратите внимание на столицу.
Я разрешаю использовать ввод имени пользователя и проверку с помощью записи. Но я пытаюсь сделать это неправильно, нечаянно записывая имя пользователя zzz - заметьте все строчные буквы.
Mysql говорит, что все нормально, и оно возвращает true, когда я ожидаю, что он вернет false. Что я делаю не так. Вот моя функция ($ дб является действительным дескриптор базы данных):
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
Я зову следующее ($ дб действует)
$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- нечувствительный-select –
Его не дубликат. Я хочу, чтобы zZz и zzz были разными. Ваша ссылка хочет, чтобы оба были одинаковыми. – Rewind