我想执行以下的mysql查询:
SELECT * FROM `gc_users` WHERE `name` LIKE '%anyname%'
我尝试过这个,但没有成功:
$stmt = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` LIKE :name");
$stmt->bindParam(':name', "%" . $name . "%");
$stmt->execute();
$stmt = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` LIKE '%:name%'");
$stmt->bindParam(':name', $name);
$stmt->execute();
所以,我问你是否可以在准备的语句中使用百分号通配符(%)。
/编辑
谢谢。它可以与bindValue
一起使用,正在运行:
$stmt = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` LIKE :name");
$stmt->bindValue(':name', '%' . $name . '%');
$stmt->execute();
bindParam
更改为bindValue
并参考 PDO 的错误报告。 - Your Common Sense