2008年9月19日星期五

mysql_real_escape_string(PHP) SQL中的特殊字符查询

Problem:

TABLE COL => "cb_spielhalle" with context "RT-Betzingen (Carl-Zeiss-Str.)|*|RT-Betzingen (Eisenbahnstr.)|*|Mössingen|*|Tübingen|*|Li.-Unterhausen"

sql有效查询 带"Mössingen"的数据:
SELECT * FROM jos_comprofiler WHERE cb_handy != '' AND (cb_spielhalle LIKE '%Mössingen%' ) AND ( cb_infoserhaltenper = 'SMS und E-Mail' OR cb_infoserhaltenper = 'nur SMS' ) AND cb_anrede LIKE '%Frau%'

PHP有效查询 带"Mössingen"的数据:
SELECT * FROM jos_comprofiler WHERE cb_handy != '' AND (cb_spielhalle LIKE '%Mössingen%' ) AND ( cb_infoserhaltenper = 'SMS und E-Mail' OR cb_infoserhaltenper = 'nur SMS' ) AND cb_anrede LIKE '%Frau%'

其中 AND (cb_spielhalle LIKE '%Mössingen%' ) 使用了mysql_real_escape_string();
$q .= $dataDbtablecol2." LIKE '%".mysql_real_escape_string($spielhalle)."%' OR ";

没有评论: