2010-12-17 114 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語句之前