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