2016-10-01 63 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