php - 如果我搜索确切的字符串,为什么 sql 查询不返回数据?

标签 php mysql

我有一个名为 gift_code 的 mysql 表,类型是 varchar(20),现在它包含 GREATDAY 字符串数据。

现在为什么我运行以下 sql 查询它返回 0。我不明白为什么会这样?!

string 可以包含大写或小写字符。我要搜索完全匹配

$checkPromo     = mysqli_query($conn, "SELECT * FROM gift_card WHERE gift_code = 'GREATDAY'   ");
echo $numPromo   = mysqli_num_rows($checkPromo);

我使用了 BINARY 关键字但没有用 :(

最佳答案

COLLATE utf8_general_cs 才是最重要的。当列的排序规则设置为此时,区分大小写将起作用。如果您的列排序规则是 utf8_general_ci,这将在查询时忽略区分大小写。

关于php - 如果我搜索确切的字符串,为什么 sql 查询不返回数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41095303/

相关文章:

PHP mysql 在特殊时间的欢乐时光显示产品

mysql - 解决mysql中的 "Illegal mix of collations"错误

php - yii框架中如何获取mysql存储过程输出参数

php - Mysql在Mysql客户端查询成功但通过PHP查询失败

MySQL条件表更新未知列错误1054

php - Laravel 5.7 Schema 外键 SQLSTATE[42000] 迁移

python - sqlPython : How to sort database before opening?

php - 在小型开源项目中应用OOP

php - 检查 PHP 文件的语法错误

php - 如何保护通过 CKEditor 提交的数据