一尘不染

在PHP中循环遍历SQL结果-不获取整个数组

mysql

我可能错过了一些简单的事情,但似乎在这里被阻止了……我有一个带有两个表的MySQL数据库,每个表都有几行。因此,目标是查询数据库并在表中显示结果,因此我开始是这样的:

$query = "SELECT name, email, phone FROM users";

然后我有这个PHP代码:

$result = mysql_query($query);

然后,我用它来获取数组:

$row = mysql_fetch_array($result);

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

要对此进行故障排除,请使用以下方法:

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

在这一点上,我只得到数据库的第一行,还有3条未显示。非常感谢您的协助。


阅读 581

收藏
2020-05-17

共1个答案

一尘不染

您需要使用以下内容,因为如果您mysql_fetch_array在循环之外进行调用,则仅返回第一行中所有元素的数组。通过将行设置为mysql_fetch_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']." ";
}
2020-05-17