如果...
$query = "SELECT col1,col2,col3 FROM table WHERE id > 100"
$result = mysql_query($query);
Run Code Online (Sandbox Code Playgroud)
这个动作:
while ($row = mysql_fetch_array($result)){
....
}
Run Code Online (Sandbox Code Playgroud)
这是做1循环(迭代x次)?
对于这个:
$row = mysql_fetch_array($result)
foreach($row as $r){
...
}
Run Code Online (Sandbox Code Playgroud)
这是做2个循环(迭代x次)?
其中x是结果的数量
编辑:
好的,谢谢你们,好吧我基本上把这个问题说得真的非常非常糟糕.
回想起来应该是这样的
'mysql_fetch_array()每次调用时都只返回一行'
我现在很高兴我对mysql_fetch_array()的理解是不正确的!
谢谢你的时间!
dec*_*eze 21
我假设mysql_fetch_array()perfroms一个循环,所以我很感兴趣如果使用while()与它一起,如果它保存一个嵌套循环.
不.mysql_fetch_array只返回结果的下一行并前进内部指针.它不循环.(在内部它可能会或可能不会在某处使用某个循环,但这是无关紧要的.)
while ($row = mysql_fetch_array($result)) {
...
}
Run Code Online (Sandbox Code Playgroud)
这样做如下:
mysql_fetch_array 检索并返回下一行$rowtrue,则执行循环的内容Run Code Online (Sandbox Code Playgroud)$row = mysql_fetch_array($result); foreach($row as $r) { ... }
这样做如下:
mysql_fetch_array 检索并返回下一行$rowforeach 循环遍历数组的内容并执行循环的内容,与数组中的项目一样多次在这两种情况下mysql_fetch_array都做同样的事情.你只有你编写的循环数.但是这两种结构都没有做同样的事情.第二个只作用于结果的一行,而第一行将遍历所有行.