我可能错过了一些简单的事情,但似乎在这里被阻止了……我有一个带有两个表的MySQL数据库,每个表都有几行。因此,目标是查询数据库并在表中显示结果,因此我开始是这样的:
$query = "SELECT name, email, phone FROM users";
然后我有这个PHP代码:
$result = mysql_query($query);
然后,我用它来获取数组:
$row = mysql_fetch_array($result);
在这一点上,我认为我可以简单地遍历$row数组并将结果显示在表中。我已经有一个函数可以执行表的循环和显示,但是不幸的是,数组在到达函数之前似乎还不完整。
$row
要对此进行故障排除,请使用以下方法:
for ($i = 0; $i < count($row); $i++) { echo $row[$i] . " "; }
在这一点上,我只得到数据库的第一行,还有3条未显示。非常感谢您的协助。
您需要使用以下内容,因为如果您mysql_fetch_array在循环之外进行调用,则仅返回第一行中所有元素的数组。通过将行设置为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']." "; }