使用Zend Framework清理SQL的输入?

时间:2013-06-26 05:43:30

标签: php zend-framework

我知道Quote和QuoteInto。这些都不能帮助我解决以下问题。我需要清理以下SQL的输入:

select * from log where message like '%bla%'

QuoteInto和Quote将添加不适用于%(通配符)的引号。如何清理此输入,以便最终得到如上所述的“安全”SQL语句?

1 个答案:

答案 0 :(得分:3)

%个字符直接附加到您的变量,并引用整个值 这看起来像这样:

 $value = 'bla';
 $db->quoteInto("SELECT * FROM log WHERE message LIKE ?", "%{$value}%");

与此相比,这会给你带来不好的结果:

 $value = 'bla';
 $db->quoteInto("SELECT * FROM log WHERE message LIKE '%?%'", $value);