gpt4 book ai didi

php - 具有多个 like 的 PDO 查询

转载 作者:可可西里 更新时间:2023-11-01 07:58:45 24 4
gpt4 key购买 nike

这在防止 SQL 注入(inject)方面是否安全?

$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);

我通常用 bindParam() 来做,但这看起来简单多了,值得怀疑。

最佳答案

是的,它很安全。从 MySQL 的角度来看,这与 bindParam() 的作用完全相同。

使用bindParam() 的原因是您希望通过引用绑定(bind)变量。除此之外,bindParam() 所做的唯一一件事就是让你无缘无故地编写更多的 PHP 代码。

PS:与您的问题相切,但是使用 LIKE 进行全文搜索肯定会非常慢。您应该使用真正的全文索引或 Sphinx 搜索。看我的介绍Full Text Search Throwdown .

关于php - 具有多个 like 的 PDO 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26683011/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com