2009-07-16 45 views
0

我用這個如何獲取Mysql數據庫表中的最後十行?

$query = "SELECT * FROM info ORDER BY id DESC limit 10"; 
$result = @mysql_query($query); 
$row = mysql_fetch_array($result); 
print_r($row); 

,但它得到的只是最後一排

+1

你怎麼用在這之後的查詢呢? – 2009-07-16 15:58:29

+1

可能是個愚蠢的問題,但是:你的桌子上只有一排嗎?嘗試從信息中選擇計數(*)? – butterchicken 2009-07-16 16:00:40

+0

@butterchicken有28行 – Waseem 2009-07-16 16:02:55

回答

6

mysql_fetch_array不提取一行數組。

它從單一行中提取一列數組。

要獲得所有的行,你必須在一個循環中運行它:

$query = "SELECT * FROM info ORDER BY id DESC limit 10"; 
$result = @mysql_query($query); 
while ($row = mysql_fetch_array($result)) 
     print_r($row); 
5

查詢是正確的。如果您似乎只獲取一行,則這是造成該查詢的查詢的一個外部因素:要麼只有表中的一行,要麼應用程序邏輯已被徹底清理,因此看起來您只有一行。

編輯:是的,現在你已經發布了你的代碼,我們可以看到它是你的應用程序邏輯被徹底清理了。試試這個:

$result = mysql_query($query); 
$rows = array(); 
while($row = mysql_fetch_array($result)) 
    $rows[] = $row; 
相關問題