我有表:id, name(text, utf8_general_ci)
。
简单数据入表:1, LOlKek_228666
尝试使用 PHP:
$link = mysqli_connect($host, $user, $password, $database);
mysqli_set_charset('utf8',$link);
$q = mysqli_query($link, "SELECT * FROM `commands` WHERE LOWER(`name`) = LOWER('$nick') ORDER BY id DESC");
或简单:
$q = mysqli_query($link, "SELECT * FROM `commands` WHERE `name` = '$nick' ORDER BY id DESC");
如果在 query($nick) 中使用 LolKek_228666
(查找 LOlKek_228666
),则找不到任何内容。
但是phpmyadmin发现了。如何解决?
最佳答案
当您使用不区分大小写的排序规则时,您可能会继续使用“LIKE”运算符并删除 LOWER() 函数。
WHERE LOWER(name
) 只会小写字段名,而不是数据值。
关于php - PHP 中不区分大小写的查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44737185/