WHERE OR 子句无法正常运行[重复]

问题描述 投票:0回答:2

我正在尝试选择具有某些 id 的类别,而 sql 查询的行为非常奇怪,请看一下:

  SELECT * FROM (`feeds`) WHERE  `cat_id` =1 OR 2 OR 3 LIMIT 0 , 30

结果包含一个cat_id为4的项目,参见这张图:

see here

我需要这个工作,脚本执行以下操作:用户指定一个国家/地区,脚本获取具有该国家/地区 ID 的所有类别,然后脚本必须选择具有这些类别 ID 的所有提要。最后一部分是获取包含前面部分中所有提要 ID 的帖子。这就像一个新闻网站,提要是导入的 RSS 提要。任何帮助将不胜感激!顺便说一下,我正在使用 codeigniter。

php mysql sql codeigniter
2个回答
9
投票

试试这个:

SELECT * FROM `feeds`
WHERE  `cat_id` in (1 ,2 , 3)
LIMIT 0 , 30

你不能给予

`cat_id` =1 OR 2 OR 3 

应该是

`cat_id` =1 OR `cat_id` =2 OR `cat_id` =3 

`cat_id` in (1,2,3)

0
投票

试试这个

SELECT * FROM (`feeds`) WHERE  `cat_id` =1 
OR `cat_id` =2  OR `cat_id` =3  LIMIT 0 , 30
© www.soinside.com 2019 - 2024. All rights reserved.