在 PDO 中实现 LIKE 查询
在 PDO 查询中使用 LIKE 运算符时,必须确保正确的语法来实现所需的搜索结果。在提供的查询中,$query 字符串中 % 符号的位置不正确导致了该问题。
语法更正
修改后的查询应包含 % 符号在 $params 数组中,而不是在查询字符串中:
$query = "SELECT * FROM tbl WHERE address LIKE ? OR address LIKE ?"; $params = array("%$var1%", "%$var2%");
此修改确保 LIKE 运算符在$var1 和 $var2 变量,同时在准备好的语句中转义它们。
说明
在 PDO 中,准备好的语句使用占位符 (?) 来表示动态值。执行查询时,$params 数组提供相应的值来替换占位符。在原始查询中,% 符号被放置在 $query 字符串中,这导致 PDO 将它们视为文字字符。
通过将 % 符号移动到 $params 数组中,您表明它们是一部分正在搜索的动态值的一部分,而不是查询语法本身的一部分。
以上是如何在 PDO 准备语句中正确使用 LIKE 运算符?的详细内容。更多信息请关注PHP中文网其他相关文章!