我有一张名为pvpstats的表。它有4列;身份证,姓名,杀人和死亡。我必须从“杀戮”中获得3个最高值,并将它们从最高到最低排序,并且还包括名称。像三顶统计!而且因为我是MySQL的新手,我需要一步一步的努力......
这就是我的.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个最高时才最高
答案 0 :(得分: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"];
}
答案 1 :(得分:1)
$row = mysql_fetch_assoc($result);
只会回显1行
用户while循环以回显所有数据。
答案 2 :(得分:-1)
看起来,您的查询语法没有任何问题。使用以下代码来查找问题。
mysql_connect($server, $dbuser, $dbpass) or die(mysql_error());
...
$row = mysql_fetch_assoc($result) or die(mysql_error());