PDO — используйте LIKE в bindParam

Я тестирую небольшую функцию поиска:

Но я столкнулся с ошибкой, которую не могу решить. Вы можете увидеть запрос 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 . "%"));

3

Решение

использование

LIKE CONCAT('%', :name, '%')
6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]