Php 在逗号列表中搜索mysql

Php 在逗号列表中搜索mysql,php,sql,Php,Sql,在我的数据库中有一个cat_id,由逗号列表填充,如2,5,12。但不幸的是,当我想执行像cat_id='2,5,12'这样的查询时,并没有结果 SELECT * FROM `site_content` WHERE `status`!='deleted' AND `cat_id` ='4,6,14' 逗号有问题吗?您可以使用like SELECT * FROM site_content WHERE status!='deleted' AND cat_id IN (4,6,14) 这可能会有帮

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

SELECT * FROM `site_content` WHERE `status`!='deleted' AND `cat_id` ='4,6,14'
逗号有问题吗?

您可以使用like

SELECT * FROM site_content WHERE status!='deleted' AND cat_id IN (4,6,14)
这可能会有帮助

SELECT * FROM site_content WHERE status!='deleted' AND cat_id IN ('4','6','14')
$cat=“4,6,14”;
$arr=爆炸(“,”,$cat);

对于($i=0;$i我已经尝试了您的代码,它正在工作


表的架构是什么?

所以在逗号分隔的列表中有多个类别ID?或者只有一个类别ID,您想查找几个?这是从多个ID创建的ID字段。如果cat_ID值为“4,6,14”,您的代码应该可以工作。如果cat_ID值可以是“4,14,6”,则它不工作。例如,如果cat_ID值为“4,6,14”,则“1”4,6,14,15',4,14,6',你的查询应该选择哪一个?不,我的代码是'4,6,14',那么你的代码应该有效不,我想在类别id中搜索完全不可分离,你能告诉我原因以便我能帮上忙吗
$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]."'");


}