php - PHP 中不区分大小写的查询不起作用

标签 php mysql sql

我有表: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/

相关文章:

Php 位置 ("some other page")

php - 如何接受任意长度的带小数点的数字?

mysql - 是否可以跨多个表创建唯一(索引)约束?

mysql - 如何更改列名并以特殊字符显示?

asp.net - 如何使用 SQL 存储而不是 web.config 在 ASP.NET 中实现页面授权?

mysql - 单个 SQL 查询

mysql - SQL 查询仅要求一个值

php - SVG/PNG扩展开关

javascript - 提交表单并使用 href 标签在弹出窗口中打开它

php - 获取MySQL畅销产品中的产品排名