mysql_fetch_array()TOP(10)的问题[重复]

问题描述 投票:-1回答:3

试图在我的测试网站上做一个赞美区域

$result = mysql_query("SELECT message, username FROM compliments order by date DESC");
while($r = mysql_fetch_array($result))    
{
    $Name = $r["username"];
    $Message = $r["message"];
}

但是,获取所有消息,

我想限制到最近的10

所以我试过这个..

$result = mysql_query("SELECT TOP(10) message, username FROM compliments order by date ASC");
while($r = mysql_fetch_array($result))    
{
    $Name = $r["username"];
    $Message = $r["message"];
}

抛出错误

警告:mysql_fetch_array()要求参数1为资源,在第52行的/var/www/vhosts/localhost/httpdocs/readcompliments.php中给出布尔值

我怎么能成功地做到这一点?

编辑:

现在用

SELECT  message, username FROM compliments order by date ASC LIMIT 10

它的工作原理!但问题是,它是最老的10!我该怎么做才能获得最新的10个?

php mysql sql
3个回答
2
投票

如果你使用Mysql

qazxsw poi用于sql Server,qazxsw poi用于Mysql

TOP

代替

LIMIT

编辑

如果你想获得最近的10,你可以使用SELECT message, username FROM compliments order by date ASC LIMIT 10

SELECT TOP(10) message, username FROM compliments order by date ASC

1
投票

将LIMIT添加到您的查询中:

order by date DESC

1
投票

不要忘记MySQL已弃用,请将脚本更改为MySQLi

警告MySQL在PHP 5.5.0中已弃用,并且在PHP 7.0.0中已被删除。相反,应使用SELECT message, username FROM compliments order by date DESC LIMIT 10 "SELECT message, username FROM compliments order by date ASC LIMIT 10;" 扩展。

MySQLi
© www.soinside.com 2019 - 2024. All rights reserved.