我的表有10条记录,mysql_num_rows表示mysql资源中有10行,在phpMyAdmin中我可以看到10行, 但是当mysql_fetch_array被调用时,前两次这个工作正常,然后最后8次它返回FALSE。当mysql_num_rows说有数据时,mysql_fetch_array返回false,为什么?
为什么?
$query = "SELECT * FROM building_types";
$building_types = mysql_query($query) or die(mysql_error());// works
echo mysql_num_rows($building_types); // prints 10
$num_rows = mysql_num_rows($building_types);
for ($i = 0 ; $i < $num_rows ;$i++)
{
echo"hi1"; // this is printed 10 times
$building_type = mysql_fetch_array($building_types);
echo $building_type; // prints Array 2 times not 10 times ...
if ($building_type === FALSE) echo"hi2"; //this is printed the last 8 times ...
感谢,
问题解决了,罪魁祸首是一个重载的变量, 纸条给别人,检查超载变量:) – dje1990 2012-03-29 14:56:40