1

我正在尝试对我的 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”存在于数据库中,但未找到。

查询有什么问题?

4

3 回答 3

3

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

于 2012-05-18T02:55:36.720 回答
2

区分大小写由列的排序规则/表和数据库的默认排序规则决定

于 2012-05-18T02:56:06.197 回答
1

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

于 2012-05-18T02:57:44.323 回答