2008/1/21 月曜日

MySQL 5.0 の LIKEで0×5c問題

Filed under: mysql — admin @ 0:53:48

SQL Injection 対策で 『set names binary』していると
0×5Cを含む『能』などの文字は『\』
でエスケープしなければいけないので

SELECT word FROM word WHERE word like '才能'

では、当然、アクセスできないので

SELECT word FROM word WHERE word like '才能'

とするがこれでもアクセスできない。

SELECT word FROM word WHERE word = '才能'  or word like '%才能%'

結論として、LIKEあいまいマッチで運悪く『能』が入ってしまったときはあきらめて
完全マッチの条件を入れてOR条件に入れてごまかすことにした。

No Tags