2016-04-16 20 views
1
$query ="SELECT * FROM book1 WHERE"; 
foreach ($terms as $each) { 
$i++; 
if($i == 1){ 
    $query.="keywords LIKE '%$each%'"; 
} 
else{ 
    $query.="OR keywords LIKE '%$each%'"; 
} 
} 
$hello=mysql_query($query); 
if(mysql_num_rows($hello)>=1) 
{ 
while($i= mysql_fetch_assoc($query)) 
{ 
    echo ' '; 
    echo '<h2><a href="'.$i['link'].'">'.$i['bname'].'</a></h2>'; 

}  
} 

以下错误显示,当我运行的代码显示一个语法错误,尽管它已经工作在SQL中使用查询时

您的SQL语法错误;检查对应于你的MariaDB服务器版本的手册,在第1行'LIKE'%paul%''附近使用正确的语法。

但是当我在mysql上运行它时,同样的查询给出了结果 有人可以帮我找我的代码的问题?

+0

你有没有尝试将关键字LIKE'%$ each%''“替换为关键字LIKE”%$ each%“? –

回答

2

if($i == 1){ 
    $query.=" keywords LIKE '%$each%'"; 
      ^^^ 
} 
else{ 
    $query.=" OR keywords LIKE '%$each%'"; 
      ^^^ 
} 
极品空间

否则查询成为

SELECT * FROM book1 WHEREkeywords... 

$hello=mysql_query($query);

,MySQL的缺失;已被弃用,而不是使用库MySQLi或PDO

+1

正确和快速+10 –

+0

谢谢,这解决了问题。不相信我没有想到这一点。感谢很多 –