MySQL SELECT查询是否区分大小写?

问题描述 投票:0回答:2

我有一个方法发布的表单,用户将按品牌日期等过滤结果。如果MySQL中的品牌名称以非小写示例(samsung)存储,搜索输入字段填充大写示例(SAMSUNG),它仍然会给出我是正确的结果还是会导致错误?

$branded=mysqli_real_escape_string($db, $_GET['brand']); // USER TYPED SAMSUNG
}
$query= "SELECT * FROM `brands` WHERE `brand` = '$branded' LIMIT 1"; // stored as samsung
mysql case-sensitive
2个回答
1
投票

语言环境是“latin1_swedish_ci”。

因为它以“ci”结尾,所以它必须不区分大小写。


0
投票

除非您正在进行二进制比较,否则大多数MySQL排序规则都不区分大小写。在您的查询案例中不应该更改任何内容。但是,以下查询会将“samsung”和“SAMSUNG”标记为不同:

$branded=mysqli_real_escape_string($db, $_GET['brand']); // USER TYPED SAMSUNG
}
$query= "SELECT * FROM `brands` WHERE BINARY `brand` = '$branded' LIMIT 1"; // stored as samsung

您必须检查您的排序规则,以确定它是否区分大小写,但最简单的方法就是测试它。

使用此链接作为参考:

http://dev.mysql.com/doc/refman/5.0/en/charset-binary-op.html

© www.soinside.com 2019 - 2024. All rights reserved.