如何在选择查询中匹配字符串数组?
问题描述:
我在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
预先感谢您
答
你缺少的报价为您字符串值。
此:
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
。
缺少字符串 – devpro
引号,但我想匹配存储在数组中的所有值 – VishalPethani
检查给出下面的答案你会得到的主意 – devpro