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>
解释:
<code class="php">WHERE hs.hs_text LIKE :searchTerm</code>
准备好的语句应该执行如下:
<code class="php">$ret = $prep->execute(array(':searchTerm' => '%' . $searchTerm . '%'));</code>
现在,查询应该返回所需的结果.
以上是如何正确使用 PDO 准备语句进行 MySQL LIKE 查询?的详细内容。更多信息请关注PHP中文网其他相关文章!