2009-07-16 109 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; 
相关问题