小编Dav*_*lds的帖子

将命名参数与PDO一起用于LIKE

我正在尝试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();
Run Code Online (Sandbox Code Playgroud)

然后它将返回'how'的相关结果.
但是,当我把它变成准备好的声明时:

$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();
Run Code Online (Sandbox Code Playgroud)

我总是得到零结果.

我究竟做错了什么?我在我的代码中的其他地方使用预准备语句,它们工作正常.

php sql search pdo

17
推荐指数
1
解决办法
1万
查看次数

标签 统计

pdo ×1

php ×1

search ×1

sql ×1