我有一个数据库,我试图在其中显示我的游戏服务器中的前 20 名玩家。我正在从我的数据库中检索所有 20 个人,但我想显示他们的姓名以及他们拥有的“积分”数量。我的问题是,在显示前 20 名的表中,它没有显示他们最后一个已知别名,然后我需要在另一个表中搜索clients
以将玩家 ID 与最后一个已知别名匹配,但是我将如何进行 foreach在将clients
所有 20 名玩家与他们的别名匹配时,它只会返回第一个别名,如在 foreach 查询中可以看到的那样。
查询前20名选手——
$query = "
SELECT *
FROM `xlr_playerstats`
ORDER BY `xlr_playerstats`.`kills` DESC
LIMIT 0 , 20
";
try
{
$stmt = $b3->prepare($query);
$stmt->execute();
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$rows = $stmt->fetchAll();
然后返回我需要交叉引用clients
表以获取最后一个已知别名的“客户端 ID”。然后我尝试对所有这些 ID 进行 foreach 查询以取回别名,但它只会返回 foreach 中的第一个循环。
foreach($rows as $row):
$query = "
SELECT *
FROM `clients`
WHERE id = ".$row["client_id"]."
";
try
{
$stmt = $b3->prepare($query);
$stmt->execute();
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$names = $stmt->fetch();
endforeach;
如何使用 foreach 成功查询所有 20 个客户别名'?