Использование именованных параметров с PDO для LIKE

Я пытаюсь выполнить поиск в поле name в своей базе данных, используя LIKE . Если я создам SQL ' вручную` вот так:

$query = "SELECT * \n"
        . "FROM `help_article` \n"
        . "WHERE `name` LIKE '%how%'\n"
        . "";
$sql = $db->prepare($query);
$sql->setFetchMode(PDO::FETCH_ASSOC);
$sql->execute();

Тогда он вернет релевантные результаты для 'как'.
Однако, когда я превращаю его в подготовленное выражение:

$query = "SELECT * \n"
        . "FROM `help_article` \n"
        . "WHERE `name` LIKE '%:term%'\n"
        . "";
$sql->execute(array(":term" => $_GET["search"]));
$sql->setFetchMode(PDO::FETCH_ASSOC);
$sql->execute();

я всегда получаю нулевой результат.

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

17
задан Cœur 31 December 2016 в 18:16
поделиться