gpt4 book ai didi

php - while 循环不会停止遍历数组

转载 作者:行者123 更新时间:2023-11-29 16:21:29 25 4
gpt4 key购买 nike

我有一个 php 文件,在其中创建了一个 Bank 类 - 有 2 个方法 - 第一个方法生成 5 个用户并在数据库中填充随机交易第二个应该显示用户的余额。

我在网站上搜索过,没有人在这里提供这样的示例。

我已成功连接到数据库并编写了一个(不是很好的)查询来从两个表中获取所有数据。

$query = "SELECT * FROM 用户、交易";

我面临的问题是我不太擅长 php,而且语法让我发疯 - 我的 while 循环遍历查询产生的结果,但它在遍历所有结果后并没有停止数组中的行 - 它只是无休止地重复本身。

$connection = mysqli_connect('localhost', 'root', 'root', 'ipromapp', '3306');

class Bank
{
function balance()
{
global $connection;

if($connection)
{
echo ("Connection online<br>");
}

$query = "SELECT * FROM users, transactions";

$result = mysqli_query($connection, $query) or die(mysql_error());

echo "<table border='1px'>";
echo "<tr>";
echo "<td> ID </td>";
echo "<td> Name </td>";
echo "<td> Balance </td>";
echo "</tr>";

while($row = mysqli_fetch_array($result))
{
$id = $row[0];
$name = $row[1];
$balance = $row[2];

echo "<tr>";
echo "<td> {$id} </td>";
echo "<td> {$name} </td>";
echo "<td> {$balance} </td>";
echo "</tr>";
}
echo "</table>";
}
}
$bank = new Bank;
$bank->randomize();
$bank->balance();

结果如下(atm数据库有5个用户)http://prntscr.com/mf6edg

它就这么过去了。

我 100% 这是 while 循环,但我不知道如何更改其中的条件,如果有人愿意帮助我的话。

最佳答案

您的查询将为第一个表的每一行选择第二个表的所有行(您的选择会产生笛卡尔积)。

假设您的表通过键相关,例如:user_id,您应该尝试联接

  SELECT * 
FROM users u
INNER JOIN transactions t on u.user_id = t.user_id

这样你应该只获取与特定user_id相关的交易

关于php - while 循环不会停止遍历数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54478049/

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