Я тестирую небольшую функцию поиска:
Но я столкнулся с ошибкой, которую не могу решить. Вы можете увидеть запрос 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, '%')
Других решений пока нет …