在Zend_Db中转义LIKE的输入

时间:2011-06-03 20:10:20

标签: sql zend-framework zend-db zend-db-select

使用LIKE模式匹配转义传递给查询的文本的正确方法是什么? 问题是

select()->where('field LIKE ?', $input . '%');

不正确

$input = '%sometext';

更新: '易受' - > '不正确'

1 个答案:

答案 0 :(得分:0)

这不是漏洞,不是吗?这是有效的内容。如果它对您的应用程序造成漏洞(如WHERE user LIKE '%admin%'),您应该考虑使用类似的方式验证/过滤输入:

if (strpos('%', $input)){
     $input = strtr($input, '%', '');
}