sql返回错误数据[php,mysql]

问题描述 投票:0回答:1

我在

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。

我该如何解决?

php mysql mysqli phpmyadmin telegram-bot
1个回答
0
投票

问题出在 $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;
?>

© www.soinside.com 2019 - 2024. All rights reserved.