2016-04-16 23 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

謝謝,這解決了問題。不相信我沒有想到這一點。感謝很多 –