while 循环不断获取数据,直到没有更多数据,因此false
由mysql_fetch_array
. 最后一个值 ,在循环结束后false
仍然存在,但只是使用 打印它,不会打印任何你能看到的东西。下一次调用and 也是如此。您可以通过执行变量来检查这一点。这将向您显示它包含 boolean 。$data
echo
mysql_fetch_array
echo
var_dump
$data
false
如果您希望在循环结束后能够使用数据,您可以将获取的所有数据保存到一个大数组中。如果您要获取大量数据,这可能是一个糟糕的选择,但您应该能够从那里自己更改它,以便您可以保存和使用有用的数据。要将所有数据存储在数组中,请将循环更改为:
$alldata = array();
while($data=mysql_fetch_array($sql))
{
echo $data['user'];
$alldata[] = $data;
}
然后,您可以例如迭代$alldata
以再次检查结果。
更新:在您的最后一条评论中,您说您想要访问最后一条获取的记录。你可以这样做:
$lastdata = array();
while($data=mysql_fetch_array($sql))
{
echo $data['user'];
$lastdata = $data;
}
$lastdata
然后将包含结果中的最后一条记录。