0

我有一个名为 pvpstats 的表。它有 4 列;id,名字,杀戮和死亡。我必须从“kills”中获得 3 个最高值,并将它们从最高到最低排序,并包括名称。喜欢 3-top 统计数据!而且因为我是 MySQL 新手,所以我需要一步一步的 quide...

这就是我的 .php 目前的样子:

<?php

$server = "localhost";
$dbuser = "usernm";
$dbpass = "passwd";
$dbname = "pvpstats";

mysql_connect($server, $dbuser, $dbpass);
mysql_select_db($dbname);

$result = mysql_query("SELECT kills FROM pvpstats ORDER BY kills DESC LIMIT 3");
$row = mysql_fetch_assoc($result);
echo print_r($row,true);

?>

连接正常,显示最高值但没有名称。并且只有最高的时候它应该显示 3 最高

4

3 回答 3

1

$row = mysql_fetch_assoc($result);只会回显 1 行

用户 while 循环回显所有数据。

于 2013-04-25T18:16:07.767 回答
1

好吧,你应该使用:

print_r($row);

不是:

echo print_r($row,true);

如果省略true变量,*print_r* 将自动输出它,因为将响应传递给echo只是多余的。

此外,由于您的查询将返回三行,因此您必须遍历它:

while ($row = mysql_fetch_assoc($result)) {
    print_r($row);
    // or if you just want to output the number, use:
    // echo $row["kills"];
}
于 2013-04-25T17:36:00.017 回答
-1

it seems,your query syntax does not have any problem. use below codes to find problems.

mysql_connect($server, $dbuser, $dbpass) or die(mysql_error());

...

$row = mysql_fetch_assoc($result) or die(mysql_error());
于 2013-04-25T18:02:45.787 回答