gpt4 book ai didi

php - utf8_unicode_ci不返回不区分大小写的结果吗?

转载 作者:行者123 更新时间:2023-11-30 23:17:02 25 4
gpt4 key购买 nike

我有以下代码:

[...]

// 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中运行了以下代码,它起作用了。。。但是,MySQLi与PHP不起作用!这对我来说很奇怪

选择 *
来自 users
username ='chrisb5'
极限0,30

这返回了ChrisB5的记录。

我还发现我的服务器默认为latin1 ...但是我按照建议将其修复为默认为utf8,仍然没有运气!值得一试。

最佳答案

搜索时数据库应该不区分大小写,对吗?


是。


  我究竟做错了什么?


没人知道。可以是任何东西。
看,您正在判断间接后果。身份验证失败可能是由数不胜数的问题引起的,不一定与编码有关。

可以对两个常量名称运行两个直接查询的调试代码可以更加确保。

这不应该是一个问题,但请确保您正在运行

$mysqli->set_charset('utf8');


连接后。

关于php - utf8_unicode_ci不返回不区分大小写的结果吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17161477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com