【发布时间】:2011-11-07 07:30:51
【问题描述】:
我正在尝试使用LIKE 在我的数据库中搜索name 字段。如果我像这样“手工”制作 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();
我总是得到零结果。
我做错了什么?我在代码的其他地方使用了准备好的语句,它们工作正常。
【问题讨论】: