2016-10-01 31 views
0

我在PHP工作,這是我的數組如何在選擇查詢中匹配字符串數組?

陣列([0] =>夏普[1] =>新[2] =>脅迫[3] =>向前彎腰[4] =>頭痛)

,我想檢索標籤欄匹配

select * 
from table_name 
where tag In(Sharp, New,Stress,Bending forward,Headache); 

但上面的查詢數組值記錄給在PHP端錯誤像

警告:mysql_fetch_array()預計參數1重新源,在C指定的字符串:\ XAMPP \ htdocs中\演示\ abc.php上線14

和MySQL一邊是

1064 - 你在你的SQL語法錯誤;檢查對應於您MariaDB的服務器版本使用附近的正確語法手冊「前進,頭痛)LIMIT 0,25」在行1

預先感謝您

+0

缺少字符串 – devpro

+0

引號,但我想匹配存儲在數組中的所有值 – VishalPethani

+0

檢查給出下面的答案你會得到的主意 – devpro

回答

0

你缺少的報價爲您字符串值。

此:

SELECT * FROM table_name WHERE tag IN (Sharp,New,Stress,Bending forward,Headache) 

應該是:

SELECT * FROM table_name WHERE tag IN ('Sharp','New', 'Stress','Bending forward','Headache') 

如果你有比你可以使用implode()

$string = implode('","',$yourArray); 

$query = 'SELECT * FROM table_name WHERE tag IN ("'.$string.'")'; 

還有一點,按你的代碼錯誤的數組你正在使用mysql_*擴展名,它在PHP 7中已被棄用和關閉。您可以使用mysqli_*PDO

相關問題