2014-10-16 90 views
0

在我的数据库中有一个cat_id,它被像2,5,12这样的逗号列表填充。但不幸的是,当我想执行查询如WHERE cat_id ='2,5,12'时,没有结果。在逗号列表中搜索mysql

SELECT * FROM `site_content` WHERE `status`!='deleted' AND `cat_id` ='4,6,14' 

是否在逗号中有问题?

+1

所以在逗号分隔列表中有多个类别ID?或者只是一个类别ID,你想查找几个? – 2014-10-16 13:50:09

+0

它是从多个ID – 2014-10-16 13:59:01

+0

创建的id字段,如果cat_id值为'4,6,14',则您的代码应该可以工作。如果cat_id的值可以是'4,14,6',则不起作用。例如,如果cat_id值是'4,6,14','4,6,14,15','4,14,6',应该通过查询选择哪些值? – dijkstra 2014-10-16 14:05:34

回答

0

您可以像使用

SELECT * FROM site_content WHERE status!='deleted' AND cat_id IN (4,6,14) 
+0

没有对不起它dosent工作 – 2014-10-16 13:56:28

+0

你能告诉我原因,这样我就可以帮助 – 2014-10-16 15:47:03

1

这可能帮助..

SELECT * FROM site_content WHERE status!='deleted' AND cat_id IN ('4','6','14') 
+1

@Azrael:谢谢:) – SonalPM 2014-10-16 13:52:48

+0

欢迎您:) – Azrael 2014-10-16 13:53:21

0
$cat = "4,6,14"; 

$arr = explode(",",$cat); 

for($i=0;$i<count($arr);$i++) 
{ 

$query=mysql_query("SELECT * FROM site_content WHERE status!='deleted' AND cat_id ='".$arr[$i]."'"); 


} 
+0

不,我不想单独搜索cat_id – 2014-10-16 14:03:48