php – mysql_fetch_array while循环.它是如何工作的?

我已经阅读了关于PHP.net上的功能,但仍然没有回答我的问题.我知道C的初学者数量,我刚开始使用PHP.通常在C中,如果你要做一个while循环,那么需要有一些条件来将循环推进到不再有效的程度,如下所示:

while (x >= 10)  
{ 
    printf("..."; 
    printf("x \n"; 
    x++; 
}

但是在我用于pm消息系统的PHP脚本中,我有一个像这样的while循环:

while($row2 = MysqL_fetch_array($query))

其次是:

{ 
  echo "PHP echo $_SERVER['PHP_SELF']?>" method="post">
PHP echo $row['id']; ?>"> PHP echo $row['id']; ?>"> PHP echo $row['from']; ?>"> PHP } ?>

这究竟是如何工作的,从C背景看起来几乎就像它会保持在同一个位置,每次我们通过循环时从相同的“$query”打印出相同的“数组获取”’行’. ..

有没有办法可以写这个来让我更好地理解最新情况?喜欢说:

$i=0;
while ($row = ($i+MysqL_fetch_array($query)) {
...
...
$i++;}

我知道可能不会工作,但这个功能如何增加?有没有办法把它写在代码中实际可以看到某种增量的地方?

谢谢

最佳答案
每次调用MysqL_fetch_array时,它都会从查询提取下一行. while循环保持返回true,而MysqL_fetch_array仍有一些东西要分配给变量$row2.一旦它没有行,它就没有任何东西可以提供变量,并返回false.

ETA:关于你提到的最后一点,你可以在循环的每次迭代中有一个变量增量,就像在你的例子中一样,但这并不是完全必要的.您还可以通过在while循环之前执行类似$var = MysqL_num_rows($data)的操作来查看已返回的行数.

相关文章

优化MySQL数据库发布系统存储的方法有:1.mysql库主从读写分...
使用mysql的方法:在“我的电脑”→右键→“管理”→“服务”...
在mysql中查看root用户权限的方法:1.命令行启动mysql服务;...
MySQL主从复制是用来备份一个与主数据库一样环境的从数据库,...
运行mysql的方法1.启动mysql服务,在“我的电脑”→右键→“...
开启mysql的方法1.可以通过快捷键win+r,输入cmd,打开窗口,...