将命名参数与 PDO 一起使用
我正在尝试使用 搜索数据库中的字段。如果我像这样“手工”制作SQL:name
LIKE
$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();
我总是得到零结果。
我做错了什么?我在代码中的其他地方使用预准备语句,它们工作正常。