【发布时间】:2013-01-06 13:59:25
【问题描述】:
我在理解使用方面有困难
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”的是第二个元素,但是函数如何知道必须返回第二个元素(而不是第一个或第三个)?我的意思是,我不会在任何地方提供这些信息...
【问题讨论】:
-
实际上,您执行一个返回结果的查询,然后循环结果直到您读取所有数据
-
$query是一个结果资源。它不包含数据,但用作到 RDBMS 和您刚刚执行的查询的链接。mysql_fetch_*()指示 RDBMS 获取下一行并将其作为数组返回到$row。
标签: php mysql while-loop