我想阻止sql注入以及想要使用REGEXP
在同一查询中获得类似的结果。我知道我像这样阻止sql注入
$this->getAdapter()->fetchAlll("SELECT * FROM $this->_table WHERE email = ? ", array($email));
现在我有另一个查询,其中我使用REGEXP
根据前3个字符和后3个字符获得类似的结果。我的查询看起来像这样
$this->_adapter->fetchAll("SELECT country_name FROM $this->_name WHERE country_name REGEXP '^$front' OR country_name REGEXP '$end$'");
在使用^
时将REGEXP
置于开头意味着您想要从开始进行比较并在结束时使用$
表示您想要从结尾进行比较。
所以现在我想问一下如何在上面的查询中编写上面的查询以防止sql注入?
答案 0 :(得分:2)
尝试以下
$query = "SELECT country_name
FROM $this->_name
WHERE country_name REGEXP ? OR
country_name REGEXP ?";
$this->_adapter->fetchAll($query, array('^'.$front, $end.'$'));