Php 输出玩家排名的排名数?

Php 输出玩家排名的排名数?,php,mysql,mysqli,Php,Mysql,Mysqli,我正在对具有用户的id和highscore的表进行排序。这是按降序排列的,我传入当前用户的id以查找他的排名 select * from ( select * from players order by highscore desc limit 10 ) t where id = $current_user 即:我传入当前用户的ID,并希望echo他排名的位置 select * from ( select * from players order by highsc

我正在对具有用户的
id
highscore
的表进行排序。这是按降序排列的,我传入当前用户的id以查找他的排名

select *
from (
  select *
  from players
  order by highscore desc
  limit 10
) t
where id = $current_user
即:我传入当前用户的ID,并希望
echo
他排名的位置

select *
from (
  select *
  from players
  order by highscore desc
  limit 10
) t
where id = $current_user
我已经试过了,但是在PHP中没有得到数据输出

$result = $mysqli->query("SELECT COUNT(*) AS rank FROM players WHERE highscore >= (SELECT highscore FROM players WHERE id=$current_user)");

我必须对上面的内容进行哪些修改才能获得用户的排名,然后
echo
以PHP列出他的排名数字?谢谢

从数据库查询数据后,需要将数据放入数组中。试着这样使用:

$result = $mysqli->query("SELECT COUNT(*) AS rank FROM players WHERE highscore >= (SELECT highscore FROM players WHERE id=$current_user)");

// Put the data from the query into an array
$row = $result->fetch_assoc();

// Store the rank in a variable named $rank
$rank = $row['rank'];

echo $rank;

您的查询有什么问题?看起来是正确的。我似乎无法从第二次查询中获得用户排名的数据,因为第二次查询返回了什么数据?有错误吗?我做了一个
echo$mysqli->错误但未返回任何内容。我想知道的是,如果我在phpmyadmin中运行查询,我会得到带有秩号的表格“rank”。我现在如何在PHP中实现这一点?