0

我有一个验证码,例如我在数据库表中有一个:.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查询是大写还是小写,如何匹配所有字母?

4

2 回答 2

10

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

$query = "SELECT * FROM captcha WHERE BINARY word = nag14i AND captcha_time > '$expiration'";
于 2013-01-22T18:30:35.627 回答
0

如果您计划使用区分大小写的匹配,您应该对该字段使用区分大小写或二进制排序规则。这将使您获得预期的结果。

于 2013-01-22T18:33:04.333 回答