Php 如何显示数据库中的多行?

Php 如何显示数据库中的多行?,php,sql,Php,Sql,我想知道如何显示数据库表中的多行?我知道一种方法,但它只允许显示一行。代码如下: ('SELECT * FROM cats WHERE cat_id="32" ORDER BY sorting') 我需要标记显示更多id的位置。坏例子 ('SELECT * FROM cats WHERE cat_id="32, 33, 34, 37" ORDER BY sorting') 我该怎么办?克里斯托弗·霍奇有最好的答案,不过你应该注意,你也可以写 SELECT * FROM cats WHERE

我想知道如何显示数据库表中的多行?我知道一种方法,但它只允许显示一行。代码如下:

('SELECT * FROM cats WHERE cat_id="32" ORDER BY sorting')
我需要标记显示更多id的位置。坏例子

('SELECT * FROM cats WHERE cat_id="32, 33, 34, 37" ORDER BY sorting')

我该怎么办?

克里斯托弗·霍奇有最好的答案,不过你应该注意,你也可以写

SELECT * FROM cats WHERE cat_id IN (32, 33, 35, 37) ORDER BY sorting
WHERE cat_id = 32 
      OR cat_id = 33
      OR cat_id = 35
      OR cat_id = 37

克里斯托弗·霍奇有最好的答案,不过你应该注意,你也可以写

WHERE cat_id = 32 
      OR cat_id = 33
      OR cat_id = 35
      OR cat_id = 37

Conrad和Kristofer的例子在您展示的简单用例中可以完美地工作。请注意,使用或或有时会强制优化器创建临时表。如果要编写更复杂的查询,并且in子句中使用的字段不是索引,请确保运行EXPLAIN命令

EXPLAIN [you query here];

以确定此场景。在某些情况下,我不得不使用UNION来优化查询

Conrad和Kristofer的示例将在您展示的简单用例中完美运行。请注意,使用或或有时会强制优化器创建临时表。如果要编写更复杂的查询,并且in子句中使用的字段不是索引,请确保运行EXPLAIN命令

EXPLAIN [you query here];

以确定此场景。在某些情况下,我不得不使用UNION来优化查询

我以前没想过要问这个问题,因为我假设“cat_id”字段是一个变量的整数。现在我再次讨论您的问题,我注意到您用引号包围了您的cat_id值。如果您的cat\u id是一个字符串,那么请确保您使用了我给出的示例中的引号。我以前不想问这个问题,因为我假设您的“cat\u id”字段是一个具有某种变化的整数。现在我再次讨论您的问题,我注意到您用引号包围了您的cat_id值。如果您的cat_id是字符串,那么请确保使用我给出的示例中的引用。