如果…
$query = "SELECT col1,col2,col3 FROM table WHERE id > 100" $result = mysql_query($query);
为此操作:
while ($row = mysql_fetch_array($result)){ .... }
这是做1个循环(重复x次)吗?
为此:
$row = mysql_fetch_array($result) foreach($row as $r){ ... }
这是做2个循环(重复x次)吗?
其中x是结果数
编辑:
好,谢谢大家,好吧,我基本上非常,非常糟糕地回答了这个问题。
回想起来,应该是
“ mysql_fetch_array()每次调用仅返回一行吗?”
我现在很高兴我对mysql_fetch_array()的理解是不正确的!
谢谢你的时间!
我假设mysql_fetch_array()绕过一个循环,所以我对是否将while()与它结合使用感兴趣,如果它可以保存一个嵌套循环。
编号mysql_fetch_array仅返回结果的下一行并前进内部指针。它不会循环。(内部可能会或可能不会在某个地方使用某些循环,但这无关紧要。)
mysql_fetch_array
while ($row = mysql_fetch_array($result)) { ... }
这将执行以下操作:
$row
true
$row = mysql_fetch_array($result); foreach($row as $r) { ... }
foreach
在这两种情况下mysql_fetch_array,都做完全相同的事情。您只有编写的循环数。但这两种构造都不会做相同的事情。第二个仅作用于结果的一行,而第一个将遍历所有行。