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