这在防止SQL注入方面是否安全?
$query = "select * from products where 1";
$searchterms = @preg_split("/[ ,]+/",trim($_REQUEST["textsearch"]));
foreach ($searchterms as &$st) {
$query .= " and description like ?";
$st = "%".$st."%";
}
$statement = $dbh->prepare($query);
$statement->execute($searchterms);
Run Code Online (Sandbox Code Playgroud)
我通常这样做,bindParam()但这似乎更简单,它是可疑的.
是的,这是安全的.这bindParam()与MySQL的观点完全相同.
使用的原因bindParam()是您希望通过引用绑定变量.除此之外,唯一bindParam()能做的就是让你无缘无故地编写更多的PHP代码.
PS:与您的问题相切,但使用LIKE全文搜索肯定会非常慢.您应该使用真正的全文索引或Sphinx搜索.请参阅我的演示文稿全文搜索Throwdown.
| 归档时间: |
|
| 查看次数: |
398 次 |
| 最近记录: |