gpt4 book ai didi

php - 如何从两个表中获取结果? (MySQLi)

转载 作者:太空宇宙 更新时间:2023-11-03 11:52:03 26 4
gpt4 key购买 nike

如何使用面向对象的方式从 MySQLi 中的两个表中检索结果?

我正在尝试从 $stmt 获取 $stmt2 的用户信息。 $stmt 加载完美,但 $stmt2 加载不完美,因为它没有得到结果。

这是它的代码:

<?php

if ($stmt = $conn->prepare('SELECT `id`, `kills` FROM `rp_stats` ORDER BY `kills` DESC LIMIT 6'))
{
$stmt->execute();
$stmt->bind_result($id, $kills);

while($stmt->fetch())
{
if ($stmt2 = $conn->prepare("SELECT `id`, `username`, `look`, `online` FROM `users` WHERE `id` = ?"))
{
$stmt2->bind_param("i", $id);
$stmt2->execute();
$stmt2->bind_result($id, $username, $look, $online);
$user = $stmt2->get_result();
}

global $stmt2;

echo '<div class="leaderboardWrap">
<div class="userAvatar" style="float: left;width: 50px;display: inline-block;height: 50px;background-image: url(\'https://www.habbo.nl/habbo-imaging/avatarimage?figure='. $look . '&size=m&headonly=1\');"></div>
<div class="leaderboardContainer">
<p style="padding-top: 6px;"><span class="username-rainbow"><a ng-click="progress()" href="/user/' . $username . '">' . $username . '</a></span></p>
<p style="margin-top: -9px;"><i>$' . formatWithSuffix($credits) . ' cash</i></p>
</div>
</div>';
}

$stmt->close();
}
?>

我希望它根据用户统计信息显示 6 个不同的用户,如左图所示,但我得到的是右图。

Wanted result current result

最佳答案

尝试在数据库中使用inner join来最小化数据的获取过程:

SELECT `id`, `kills` FROM `rp_stats` 
INNER JOIN users ON rp_stats.id = user.id
ORDER BY `kills` DESC LIMIT 6

关于php - 如何从两个表中获取结果? (MySQLi),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35015560/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com