在查询中转义双引号

时间:2014-12-03 18:48:08

标签: php mysql escaping double-quotes

我对此摸不着头脑,我无法理解错误

 $result=mysql_query("SELECT * 
                     FROM `offers` 
                     WHERE 
                     (
                         type='$tran' && 
                         imob='$typeimob' &&
                         (
                           'str_replace("_"," ",$zone)'
                            LIKE CONCAT('%',area,'%')
                         )
                     ) 
                     ORDER BY `price` DESC 
                     LIMIT 0, 50;");
    }

这是在php内部。 问题是我必须转义str_replace中的双引号,我试过str_replace(\"_\",\" \",$zone)但它不起作用。

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:0)

您需要将str_replace()的输出连接到字符串中。

    $result=mysql_query(
        "SELECT * 
        FROM `offers` 
        WHERE 
        (
        type='$tran' &&
         imob='$typeimob' &&
         (
            '".str_replace("_"," ",$zone)."' 
            LIKE CONCAT('%',area,'%')
            )
        ) 
        ORDER BY `price` DESC LIMIT 0, 50;");

顺便说一句,如果您使用的是像Eclipse PDT这样的IDE,那么这些东西会立即显现出来:)