为什么这个MySQL查询区分大小写?

时间:2012-05-18 02:54:23

标签: php mysql

我正在尝试对我的MySQL数据库进行查询。我希望它不区分大小写。如果数据库中存在“RED”并且我搜索“red”,我希望显示结果。

不幸的是,这个问题是感情用事的,我不知道为什么:

$color = "red";
$size = "large";

$query = mysql_query("SELECT * FROM items WHERE color = '$color' OR size = '$size'");

while ($row = mysql_fetch_array($query)) {

    if ($color == $row['color']) {
        echo "The color exists in the database";
    }
    if ($size == $row['size']) {
        echo "The size exists in the database";
    }

}

使用此示例,数据库中存在“RED”,但未找到它。

查询有什么问题?

3 个答案:

答案 0 :(得分:3)

因为您的列的排序规则区分大小写

答案 1 :(得分:2)

区分大小写是由表格和列表的列/默认排序规则的整理确定的。数据库

答案 2 :(得分:1)

您可以使用不区分大小写的REGEXP运算符。请参阅http://dev.mysql.com/doc/refman/5.1/en/regexp.html