Я пытаюсь выполнить поиск в поле 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();
я всегда получаю нулевой результат.
Что я делаю не так? Я использую подготовленные операторы в других местах своего кода, и они отлично работают.