循环使用SQL会导致PHP—无法获取整个数组

循环使用SQL会导致PHP—无法获取整个数组,php,mysql,for-loop,Php,Mysql,For Loop,我可能错过了一些简单的东西,但我似乎在这里受阻。。。我有一个MySQL数据库,有两个表,每个表有几行。我们的目标是查询数据库并在表中显示结果,因此我开始如下操作: $query=“从用户处选择姓名、电子邮件、电话” 然后我有以下PHP代码: $result=mysql\u查询($query) 然后,我用这个来获取数组: $row=mysql\u fetch\u数组($result) 此时,我认为我可以简单地循环遍历$row数组,并在表中显示结果。我已经有了一个函数来执行表的循环和显示,但不幸的是

我可能错过了一些简单的东西,但我似乎在这里受阻。。。我有一个MySQL数据库,有两个表,每个表有几行。我们的目标是查询数据库并在表中显示结果,因此我开始如下操作:

$query=“从用户处选择姓名、电子邮件、电话”

然后我有以下PHP代码:

$result=mysql\u查询($query)

然后,我用这个来获取数组:

$row=mysql\u fetch\u数组($result)

此时,我认为我可以简单地循环遍历
$row
数组,并在表中显示结果。我已经有了一个函数来执行表的循环和显示,但不幸的是,数组在到达函数之前似乎还不完整

要解决此问题,我使用以下方法:

for ($i = 0; $i < count($row); $i++) {
    echo $row[$i] . " ";
}
for($i=0;$i

此时,我只得到数据库中的第一行,还有3行没有显示。非常感谢您的帮助。

您需要使用以下命令,因为如果在循环外部调用
mysql\u fetch\u array
,您只返回第一行中所有元素的数组。通过将行设置为每次循环时由
mysql\u fetch\u array
返回的新行,您将遍历每一行,而不是遍历行中的实际内容

while($row = mysql_fetch_array($result))
{
   // This will loop through each row, now use your loop here

}
但是最好的方法是遍历每一行,因为您只有三列

while($row = mysql_fetch_assoc($result))
{
   echo $row['name']." ";
   echo $row['email']." ";
}

循环遍历结果的一种常见方法如下:

$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result)) {
    print_r($row);
    // do stuff with $row
}

查看PHP.net上的示例和注释。你可以在那里找到你需要知道的一切。

foreach($r行){echo$r['name']。“”.$r['email'];}例如,谢谢-这就是我的数组。现在我只需要弄清楚为什么我的循环/显示函数不能正常工作。