是否可以在PHP while
中更改foreach
mysql_fetch_row
?
例如
$result = mysql_query("SELECT * FROM test");
while ($row = mysql_fetch_row($result)) {
print_r($row);
}
这将从查询SELECT * FROM test
获取所有记录(行)。
但是,如果使用foreach
foreach (mysql_fetch_row($result) as $row) {
print_r($row);
}
这将仅从查询SELECT * FROM test
中获取第一条记录(行)。
使用foreach
时,是否可以通过mysql_fetch_row
循环获取所有记录?
答案 0 :(得分:3)
如果符合以下条件,您只能使用foreach
ArrayAccess
或Iterator
或foreach
一起使用。你可以使用for
循环,但代码可能不够可读:
for ($row = mysql_fetch_row($result); $row !== false; $row = mysql_fetch_row($result)) {
print_r($row);
}
答案 1 :(得分:1)
不,因为foreach
需要一个数组。在这里,mysql_fetch_row()
一次只返回一行。