2010-12-17 77 views
0

最近在我的一个项目中,我写了下面的代码来检索和打印数据库中的数据。while循环与PHP中的mysql_fetch_array()PHP

$query = "select * from tblteachers limit 0, 4"; 
$result= mysql_query($query) or die(mysql_error()); 

if(mysql_num_rows($result)>0) 
{ 
    while($fetchRow=mysql_fetch_array($result, MYSQL_BOTH)) 
    { 
     echo $fetchRow['id']; 
    } 
} 
在tblteachers表

有14列,并且查询得到4行,但问题是它缺少由第一行打印3行。就是它打印2,3,4。

+0

@Arif - 任何机会第一行'id'为空/空? – ajreal 2010-12-17 18:48:22

+0

id是数据库中的自动增量。所以它一定存在。 – 2010-12-17 18:52:55

+1

当你从mysql监视器运行它时,你可以粘贴查询的输出吗?一个auto_increment字段必须是非空/主键才能在MySQL中工作,但如果稍后通过alter table应用auto_increment,那么在数据已经插入之后,很可能会有一个空id的记录'。 – 2010-12-17 19:07:20

回答

1

你可能已经使用了移动指针的东西。 尝试添加mysql_data_seek($ result,0);在while语句之前