小编典典

是否可以像%:name%一样绑定Param WHERE名称

sql

我正在测试一个小的搜索功能:

但是我遇到了一个我似乎无法解决的错误。您可以在此处查看PDO查询:

$search = "test1"; //later to be changes to $_POST ['search'];

$sql = "SELECT id, name FROM clients WHEE name like %:name% order by id LIMIT 5";
$stm = $db->prepare ( $sql );
$stm->bindParam ( ":name" , $search);
$result = $stm->execute ();

如您所见,我正在尝试%:name%从查询中绑定参数,但是我不知道这是否真的可能吗?

我收到错误:

未捕获的异常“ PDOException”,消息为“ SQLSTATE [42000]:.....

而且我可以在错误中看到’‘已放在test1%’test1’%附近

我正在尝试的可能吗,还是我需要做类似的事情?

$query = "SELECT id, name FROM clients WHEE name like :name order by id LIMIT 5";

$sql->execute(array(":name" => "%" .$search . "%"));

阅读 200

收藏
2021-03-23

共1个答案

小编典典

使用

LIKE CONCAT('%', :name, '%')
2021-03-23