0

テーブルから完全に一致する単語を選択したいのですが、問題が発生しました

行のような場合: Angel and i did select * from table where row = "angel" it success and first

文字は小さく、db ではその大文字、

$r = mysql_fetch_row(mysql_query("SELECT ID 
                                  FROM Login
                                  WHERE Username = 'angel'
                                    And Password = 'zxc'"));
if($r[0])
    die("success");
else
    die("failed");

In mysql Table
Username : varchar(50) : Angel
Password varchar(50) : zxc

結果は失敗するはずです

エンジェルじゃなくてエンジェルだから

だからそれに対する解決策

4

6 に答える 6

1

そのために使えますBINARY

SELECT *  FROM `table` WHERE BINARY `row` = 'angel'

これにより、大文字と小文字が区別される一致が作成されます。

于 2013-08-22T04:55:00.110 に答える
1

はい、これはテーブル フィールドの照合によるものです。大文字と小文字を区別する照合に設定し、通常はcslike の接尾辞を付ける必要がありますlatin1_swedish_cs

于 2013-08-22T04:55:39.660 に答える
0

これを試して、

$r = mysql_fetch_row(mysql_query("SELECT ID FROM Login WHERE  
            Password = 'zxc' AND Username collate latin1_general_cs = 'angel'"));

大文字と小文字を区別するデータベース クエリMySQL の大文字と小文字を区別するクエリの読み取り

于 2013-08-22T04:53:48.307 に答える
0

のようにしてみてください

SELECT ID
FROM Login
WHERE Username = 'angel' COLLATE utf8_bin;
于 2013-08-22T04:54:50.030 に答える
0

のようにしてみてください

SELECT ID
FROM Login
WHERE upper(Username) = upper('angel')
于 2013-08-22T06:47:07.140 に答える