首页 >数据库 >mysql教程 >如何在 MySQL PDO 查询中正确使用 LIKE 和 BindParam?

如何在 MySQL PDO 查询中正确使用 LIKE 和 BindParam?

Susan Sarandon
Susan Sarandon原创
2024-11-08 22:10:021015浏览

How to Correctly Use LIKE with BindParam in MySQL PDO Queries?

在 MySQL PDO 查询中正确使用 LIKE 和 BindParam

当尝试在 MySQL PDO 查询中使用 bindParam 执行 LIKE 搜索时,必须使用正确的语法以确保准确的结果。

优化语法

要使用bindParam匹配以“a”开头的用户名,正确的语法是:

$term = "a%";

相反,原始问题中提供的语法“$term = "'$term%'" 是不正确的,因为它在 $term 值周围放置了不必要的内部单引号,这将导致搜索 'a% ' 而不是%。

bindParam 的角色

bindParam 负责在插入 SQL 语句时自动引用字符串数据,因此不需要手动附加单引号。并可能导致错误的结果。

修改后的代码

使用优化语法,修改后的代码将是:

$term = "a%";

$sql = "SELECT username FROM `user` WHERE username LIKE :term LIMIT 10";      

$core = Connect::getInstance();

$stmt = $core->dbh->prepare($sql);
$stmt->bindParam(':term', $term, PDO::PARAM_STR);
$stmt->execute();
$data = $stmt->fetchAll();

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

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