【发布时间】:2016-01-28 21:54:46
【问题描述】:
我正在尝试让 PDO 返回通配符搜索的结果。我的代码是:
$search = "%Notes%";
$result = $db->prepare("SELECT * FROM books WHERE 'name' LIKE :search");
$result->bindParam(':search', $search);
$result->execute();
while($arr = $result->fetch(PDO::FETCH_ASSOC)){
echo $arr['name'];
}
目前,我得到一个空白屏幕。如果我通过 PHPMyAdmin 运行续集:
SELECT * FROM
booksWHEREnameLIKE '%Notes%'
我得到了适当的结果。
我认为这与我格式化 PDO 语句的方式有关,我知道您不能使用动态列名,但我不知道出了什么问题?
【问题讨论】:
-
尝试将 % 移动到查询中并仅绑定
Notes -
然后抛出语法错误
-
name 周围有引号。那是无效的,让它反引号
-
谢谢@JohnRuddell 我太笨了……
-
确定我已经回答了,所以我们可以关闭它