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