Php 在PDO中准备语句时遇到问题。撇号错误。
我在准备查询时遇到问题。当$artistname有撇号时,我得到一个错误 $关键字可以很好地处理撇号。我做错了什么?我如何修复它Php 在PDO中准备语句时遇到问题。撇号错误。,php,pdo,Php,Pdo,我在准备查询时遇到问题。当$artistname有撇号时,我得到一个错误 $关键字可以很好地处理撇号。我做错了什么?我如何修复它 $keyword[':keyword'.$x] = "%".$name_single."%"; $where .= '`name` LIKE :keyword'.$x; if ($name_count!=$x) { $where .= ' AND '; } $sql = "SELECT * FROM `mixtapes` WHERE
$keyword[':keyword'.$x] = "%".$name_single."%";
$where .= '`name` LIKE :keyword'.$x;
if ($name_count!=$x) {
$where .= ' AND ';
}
$sql = "SELECT * FROM `mixtapes` WHERE ".$where." AND name != '$artistname' ORDER BY `id` DESC LIMIT 40";
$search = $db->prepare($sql);
$search->execute($keyword);
你的准备声明并不是在准备艺人的名字。使用prepare语句时,在查询中放置占位符,然后执行向查询传递变量的操作。将artisname添加到数组中,您应该会很好
$keyword[':keyword'.$x] = "%".$name_single."%";
$where .= '`name` LIKE :keyword'.$x;
if ($name_count!=$x) {
$where .= ' AND ';
}
$keyword[':artistname'] = $artistname;
$sql = "SELECT * FROM `mixtapes` WHERE ".$where." AND name != :artistname ORDER BY `id` DESC LIMIT 40";
$search = $db->prepare($sql);
$search->execute($keyword);
而不是
=代码>使用
在提问之前,请花一些时间进行搜索,看看您的问题是否已经有答案。我是@riggsfully,我只是在这个特定案例中遇到了问题。我可能是在努力寻找这个问题。