如何正确使用 PDO 准备语句进行 MySQL LIKE 查询?

Susan Sarandon
发布: 2024-10-31 02:05:29
原创
337 人浏览过

How to Correctly Use PDO Prepared Statements for MySQL LIKE Queries?

PHP PDO 准备语句:MySQL LIKE 查询

使用 PHP 的 PDO 类执行 LIKE 查询时,正确处理 LIKE 运算符至关重要并正确准备语句。

问题:在提供的代码中,原始查询使用 MySQL 客户端工作,但在迁移到 PHP 时遇到问题。

解决方案: 错误出在prepare方法中的WHERE子句中。以下行是不正确的:

<code class="php">$ret = $prep->execute(array(':searchTerm' => '"%' . $searchTerm . '"%'));
$ret = $prep->execute(array(':searchTerm' => "%:searchTerm%"));
$ret = $prep->execute(array(':searchTerm' => ':' . $searchTerm . '%'));</code>
登录后复制

解释:

  • 准备好的语句:它们与查询分开传输数据,使得嵌入值时不需要引号。
  • LIKE 运算符: 需要通配符,例如 % 或 _,来表示任意字符序列。
  • 正确查询: 正确的 WHERE 子句应该是:
<code class="php">WHERE hs.hs_text LIKE :searchTerm</code>
登录后复制

准备好的语句应该执行如下:

<code class="php">$ret = $prep->execute(array(':searchTerm' => '%' . $searchTerm . '%'));</code>
登录后复制

现在,查询应该返回所需的结果.

以上是如何正确使用 PDO 准备语句进行 MySQL LIKE 查询?的详细内容。更多信息请关注PHP中文网其他相关文章!

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