但我遇到了一个我似乎无法解决的错误.您可以在此处查看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%’test1’%
我正在努力,或者我需要做这样的事情?
$query = "SELECT id, name FROM clients WHERE name like :name order by id LIMIT 5";
$sql->execute(array(":name" => "%" .$search . "%"));
解决方法:
使用
LIKE CONCAT('%', :name, '%')