繁体   English   中英

PHP语句:while($ row = mysql_fetch_array($ query))

[英]PHP statement: while($row = mysql_fetch_array($query))

我很难理解使用

while($row = mysql_fetch_array($query))

显示变量“ $ query”中数据库的某些元素。 而且,我不理解函数“ mysql_fetch_array()”传递给变量“ $ row”的内容。 我的猜测是只给出“ $ query”中数据库记录的一个记录(或行),但是函数如何知道哪一行?

我将尝试通过一个例子来解释自己。

假设我在变量$ query中有3条记录,其中有两个字段(例如“ id”和“ name”)。 首先,变量$ row由第一个元素填充(例如id = 1,name = antonio),然后一些代码允许我显示或操作“ 1”和“ antonio”,然后代码结束,而while开始再次。

现在,我假设赋予变量“ row”的是第二个元素,但是函数如何知道必须返回第二个元素(而不是第一个或第三个元素)? 我的意思是,我不会在任何地方提供此信息...

如果将语句$row = mysql_fetch_array()放置为while循环的条件语句,则将完成两件事:

  1. 您将获得一行新的MySQL信息,每次while循环检查其条件语句时,都可以将其打印出来。

  2. 当没有更多的行时,该函数将返回FALSE,从而导致while循环停止!

变量$ query是一种资源,因此具有某种内部“行计数器”。 每次调用mysql_fetch_array()或其变体时,此计数器都会递增。 结果,每次调用此函数mysql_fetch_array时,都会得到下一行。 收到最后一行后,您再次调用它,则返回false。 由于while循环的工作方式,您会退出此循环。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM