在mysql查询中对大写和小写敏感

时间:2013-01-22 18:26:30

标签: php mysql codeigniter

我有一个capcha代码,例如我在数据库表中有:Nag14I。如果我把它作为:nag14i在下面的mysql查询中我有一个输出:

$query = "SELECT * FROM captcha WHERE word = 'nag14i' AND captcha_time > '$expiration'";
print_r($query); //[num_rows] => 1

我出去了:

word = Nag14I => [num_rows] => 1 
word = nag14I => [num_rows] => 0 
word = Nag14i => [num_rows] => 0 
word = nag14i => [num_rows] => 0

如果mysql查询是大写还是小写,如何匹配所有字母?

2 个答案:

答案 0 :(得分:10)

默认情况下,MySQL不区分大小写,为了使查询区分大小写,请尝试使用BINARY运算符:

$query = "SELECT * FROM captcha WHERE BINARY word = nag14i AND captcha_time > '$expiration'";

答案 1 :(得分:0)

如果您打算使用区分大小写的匹配,则应该为字段区分大小写或二进制排序规则。这样您就可以获得预期的结果。