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

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

Susan Sarandon
发布: 2024-11-11 12:54:02
原创
1104 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板