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 に答える