正在开发一个PHP脚本,用于检查数据库中某些值的值。到目前为止,我认为它工作正常,但我发现了一个问题。
查询未查找特定字符。
所以如果我使用这个查询:
SELECT *
FROM `facilitydb_login`
WHERE
facilitydb_login.`password` = 'PASS'
我想要结果,因为密码是PASS。但是如果你填写pass(小写),则会返回相同的条目。
如何区分大小写?
答案 0 :(得分:6)
您应该使用区分大小写的排序规则,例如
SELECT *
FROM `facilitydb_login`
WHERE facilitydb_login.`password` collate latin1_general_cs = 'PASS'
名称中的CS意味着它区分大小写
答案 1 :(得分:2)
你可以使列区分大小写
假设您正在使用mysql数据库
ALTER TABLE facilitydb_login
CHANGE password `password` VARCHAR(100) BINARY NOT NULL;
或者如果你想成为select语句的一部分,那么
SELECT *
FROM `facilitydb_login`
WHERE BINARY
facilitydb_login.`password` = 'PASS'