”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何在 MySQL PDO 查询中正确使用 LIKE 和 BindParam?

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

发布于2024-11-16
浏览:481

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 周围放置了不必要的内部单引号value,这将导致搜索 'a%' 而不是 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();
最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3