mysqlの文字列を比較したいが、私が行っていることは正しく動作していないようだ。mysqlの文字列を比較すると正しく動作しない
私は、ログイン/パスワードテーブルUSERSがあるのvarchar(128/255)と、一つのレコードを持っている
(下記参照)内部Iはログインがquakで、パスワードは「D08であるユーザーを取得したいです。.. 'ので、私はいくつかのクエリを作成しました: -
SELECT d.* FROM USERS d WHERE d.password = 'd08774a578812218da9f94480f914589e57ff1f358ccfed6009e1d9331d0b702';
SELECT d.* FROM USERS d WHERE d.password IN ('d08774a578812218da9f94480f914589e57ff1f358ccfed6009e1d9331d0b702');
動作しませSELECT d.* FROM USERS d WHERE strcmp(d.password, 'd08774a578812218da9f94480f914589e57ff1f358ccfed6009e1d9331d0b702');
-SELECT d.* FROM USERS d WHERE d.login IN ('quak');
機能しない - 作業SELECT d.* FROM USERS d WHERE d.login = 'quak';
- 作業SELECT d.* FROM USERS d WHERE strcmp(d.login, 'quak') = 0;
- 仕事は(0を返された - 同じ)なぜ1,2を問い合わせますクエリ4,5はどこで動作していませんか?
クエリ3が機能しない理由、クエリ6が機能している理由
UTF8一般
はDを選択'試してみてください*ユーザーからはd.password LIKE '%のd08774a578812218da9f94480f914589e57ff1f358ccfed6009e1d9331d0b702%' ' –
@TravisSmithはここで、d 0レコード) ' – Niewidzialny
' SELECT d。* FROM USERSからの実験d WHERE d.password LIKE '%d08774a578812218da9f94480f914589e57ff1f358ccfed6009e1d9331 d0b70%' 'まだ空の結果が返ってくるかどうかを確認してください –