首页  >  文章  >  后端开发  >  PDO中使用LIKE时如何避免错误查询?

PDO中使用LIKE时如何避免错误查询?

Susan Sarandon
Susan Sarandon原创
2024-11-11 12:54:02987浏览

How to Avoid Incorrect Queries When Using LIKE in PDO?

在 PDO 中正确实现 LIKE 查询

尝试在 PDO 中执行 LIKE 查询时,确保正确的语法以检索准确的结果非常重要。在提供的查询中,问题在于 % 通配符的位置。

PDO 中 LIKE 查询的正确语法是在 $params 数组中包含 % 符号,而不是查询本身。下面是一个示例:

$query = "SELECT * FROM tbl WHERE address LIKE ? OR address LIKE ?";
$params = array("%$var1%", "%$var2%");
$stmt = $handle->prepare($query);
$stmt->execute($params);

如果 $params 数组中包含 % 符号,则生成的查询将如下所示:

SELECT * FROM tbl WHERE address LIKE '%"foo"%' OR address LIKE '%"bar"%'

但是,在提供的原始查询中,% 符号包含在查询本身中:

$query = "SELECT * FROM tbl WHERE address LIKE '%?%' OR address LIKE '%?%'";

执行查询时,准备好的语句会引用已引用字符串内的值,从而导致查询不正确。通过将 % 符号移动到 $params 数组,预期的查询将被正确执行。

以上是PDO中使用LIKE时如何避免错误查询?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn