我在
amount
表中有 users
字段。我想通过使用 FOR 循环来获取所有内容。但我返回错误的数据。所有东西都清楚地显示在图片中。
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . "/walletbot/database.php";
$user_amount = $connection->query("SELECT `amount` FROM `users` WHERE `amount` BETWEEN 1000 AND 30000");
$user_amount = $user_amount->fetchAll();
for ($i=0; $i<count($user_amount) -1; $i++)
{
try {
$user_amount = $user_amount[$i]['amount'];
echo $user_amount;
echo "<br>";
}
catch (PDOException $e)
{
echo $e->getMessage();
}
}
$connection = null;
我尝试使用 for 循环获取数据。这是代码的结果。正如你所看到的,它只给我返还了 2500 和 5。
我该如何解决?
问题出在 $user_amount 变量上。您正在将 $user_amount 重新分配给当前金额值,这会更改您的初始值。
我还注意到您的循环条件有问题,并且不会迭代整个数组。根据给定的代码,您的循环由于 count($user_amount) - 1 而提前停止一次迭代。
这是更正后的版本
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . "/walletbot/database.php";
$query = $connection->query("SELECT `amount` FROM `users` WHERE `amount` BETWEEN 1000 AND 30000");
$user_amounts = $query->fetchAll();
for ($i = 0; $i < count($user_amounts); $i++) {
try {
$amount = $user_amounts[$i]['amount']; // Used a different variable here
echo $amount;
echo "<br>";
} catch (PDOException $e) {
echo $e->getMessage();
}
}
$connection = null;
?>