PDO: подготовка со значением связывания и как%

Я просматривал час на разных сайтах, но я не мог решить свою проблему.

Итак, вот код, который работает:

$animes = array(); $q = $this->_db->query('SELECT id, nom, nom_id FROM animes WHERE nom LIKE "%code%"'); while ($data = $q->fetch(PDO::FETCH_ASSOC)) { $animes[] = new Anime($data); } return $animes; 

И вот тот, который не работает:

 $animes = array(); $q = $this->_db->prepare('SELECT id, nom, nom_id FROM animes WHERE nom LIKE :n'); $q->bindValue(':n',"%code%",PDO::PARAM_STR); while ($data = $q->fetch(PDO::FETCH_ASSOC)) { $animes[] = new Anime($data); } return $animes;` 

Я использую %code% в этом примере, но он будет использоваться с $info который является значением $_POST которое я извлекаю.

Как я могу это решить?

Спасибо.

Related of "PDO: подготовка со значением связывания и как%"

вы не execute() .

после связывания вам нужно выполнить, а затем извлечь:

 $q->bindValue(':n',"%code%",PDO::PARAM_STR); $q->execute(); while ($data = $q->fetch(PDO::FETCH_ASSOC)) 

вы можете связать это с помощью переменной php:

 $q->bindValue(':n','%'.$var.'%',PDO::PARAM_STR);