我有以下代码:
[...]
// Escape values
$username = $mysqli->real_escape_string($username);
$password = $mysqli->real_escape_string($password);
// Create the SQL string
$sql = "SELECT *
FROM users
WHERE username = '$username' AND password = '$password';";
// Run query
if ($result = $mysqli->query($sql)) {
[...]
好吧,我有一个用户名 ChrisB5。ChrisB5 使用正确的密码正确验证,但是...... chrisb5 验证失败。我有 utf8_unicode_ci,所以...数据库在搜索时应该不区分大小写,对吗?如果有帮助的话,我的数据库类型是 MyISAM。我做错了什么?...谢谢!
编辑:
我在 phpmyadmin 中运行了以下代码并且它工作了......但是使用 PHP 的 mysqli 不起作用!这对我来说很奇怪......
SELECT *
FROM users
WHERE username
= 'chrisb5'
限制 0 , 30
这返回了 ChrisB5 的记录。
我还发现我的服务器默认为 latin1 ......但是我按照建议将其修复为默认为 utf8 并且仍然没有运气!值得一试。