我试图让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
books
WHEREname
LIKE'%Notes%'
我得到了合适的结果。
我认为这与我格式化PDO语句的方式有关,我知道你不能拥有动态列名,但我不知道出了什么问题?
答案 0 :(得分:2)
在您的查询中,您'name'
将其更改为仅用反引号而非引号
又名
$result = $db->prepare("SELECT * FROM `books` WHERE `name` LIKE :search");
你也可以删除反引号