Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何仅使用一个查询从同一个表中选择多行?_Php_Mysql - Fatal编程技术网

Php 如何仅使用一个查询从同一个表中选择多行?

Php 如何仅使用一个查询从同一个表中选择多行?,php,mysql,Php,Mysql,我有一个来自MySQL的表,我想从这个表中选择一些行,而不必使用大量查询来查找单行 我的代码目前是这样的: $query = "SELECT def_conteudo FROM conteudo WHERE nro_conteudo = '101' "; $query2 = "SELECT def_conteudo FROM conteudo WHERE nro_conteudo = '102' "; $query3= "SELECT def_conteudo FROM conteudo W

我有一个来自MySQL的表,我想从这个表中选择一些行,而不必使用大量查询来查找单行

我的代码目前是这样的:

$query = "SELECT def_conteudo FROM conteudo WHERE nro_conteudo = '101' ";

$query2 = "SELECT def_conteudo FROM conteudo WHERE nro_conteudo = '102' ";

$query3= "SELECT def_conteudo FROM conteudo WHERE nro_conteudo = '103' ";

$query4 = "SELECT def_conteudo FROM conteudo WHERE nro_conteudo = '104' ";
我不喜欢它,因为对我来说,这段代码似乎没用,但我不知道更好的方法来找到解决方案,因为我对PHP还不熟悉

如果可能的话,我想要这样的东西:

$query = "SELECT * FROM conteudo";
在选择所有表时,我可以选择要显示的值,而无需进行多个查询。我如何才能做到这一点?

有两种方法:

在以下两者之间使用:

SELECT def_conteudo FROM conteudo WHERE nro_conteudo BETWEEN 101 AND 104;
这将获取ID介于这两个数字之间的每一行。如果我没记错的话,低端是包含的,高端是独占的

或者,如果它们不是连续的:

SELECT def_conteudo FROM conteudo WHERE nro_conteudo IN (101, 102, 103, 104); 

这将获取列表中的ID。

它的效果非常好,谢谢+1、5分钟内回答正确:使用一个函数来抽象出你的查询的重复性。或者,正如您已经编写的那样,选择所有记录,然后在循环中对它们进行迭代。