我正在测试一个小型搜索功能:
但是我遇到了一个我似乎无法解决的错误。您可以在此处查看PDO查询:
$search = "test1"; //later to be changes to $_POST ['search'];
$sql = "SELECT id, name FROM clients WHERE name LIKE CONCAT('%',:name,'%')";
$stm = $db->prepare ($sql);
$stm->bindParam ( ":name", $search );
$stm->execute ();
$result = $stm->fetchAll();
正如您所看到的,我尝试将参数%:name%与我的查询绑定,但我不知道这实际上是否可行?
我解除了错误:未捕获的异常' PDOException'消息' SQLSTATE [42000]:.....
我可以在错误中看到''已被放在test1%&test;'%
我尝试的是什么,或者我需要做这样的事情吗?
$query = "SELECT id, name FROM clients WHERE name like :name order by id LIMIT 5";
$sql->execute(array(":name" => "%" .$search . "%"));
答案 0 :(得分:6)
使用
LIKE CONCAT('%', :name, '%')