php – 在bindParam中使用LIKE作为MySQL PDO查询

我已经阅读了关于如何写这些查询的多个例子,但是我在努力得到这个特定的想要运行时使用bindParam

这是否是匹配以…开头的用户名的正确方法?

$term = "a";
$term = "'$term%'";

$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();
最佳答案
不,你不需要内单引号,所以只要$term =“$term%”;

您现在运行的语句将尝试匹配“a%”而不是“%”

bindParam将确保在给予SQL语句时自动正确引用所有字符串数据.

转载注明原文:php – 在bindParam中使用LIKE作为MySQL PDO查询 - 代码日志