我已经阅读了关于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相关文章