1

非常に単純なワイルドカー検索を行います。

"SELECT firstname, lastname, email, text FROM members WHERE firstname LIKE '%$word%' OR lastname LIKE '%$word%' OR email LIKE '%$word%' OR text LIKE '%$word%'"

「test」を検索すると、「test」という単語が見つかりますが、「Test」という単語は見つかりません。これを修正するにはどうすればよいですか? 奇妙なことは、他の別のデータベースで「Test」と「test」という単語が見つかり、「latin1_swedish_ci」を実行していることです。

「COLLATE」ステートメントが役立つと思いましたが、機能させることができませんでした:(

4

2 に答える 2

0
"SELECT firstname, lastname, email, text FROM members WHERE UPPER(firstname) LIKE UPPER('%$word%') OR UPPER(lastname) LIKE UPPER('%$word%') OR UPPER(email) LIKE UPPER('%$word%') OR UPPER(text) LIKE UPPER('%$word%')"

すべてのテキストを大文字に変換した後に検索されるこのようにしてみてください

于 2013-02-16T12:20:01.207 に答える
0
"SELECT firstname, lastname, email, text 
FROM members 
WHERE upper(firstname) LIKE upper('%$word%') 
OR upper(lastname) LIKE upper('%$word%') 
OR upper(email) LIKE upper('%$word%') 
OR upper(text) LIKE upper('%$word%')"

"SELECT firstname, lastname, email, text 
FROM members 
WHERE lower(firstname) LIKE lower('%$word%') 
OR lower(lastname) LIKE lower('%$word%') 
OR lower(email) LIKE lower('%$word%') 
OR lower(text) LIKE lower('%$word%')"

これはうまくいくはずです:)

于 2013-02-17T17:59:29.557 に答える