未定义变量 $count

Undefined variable $count

我遇到了一个非常烦人的错误 Undefined variable: count。这是我的代码:

<?php
    $user = getUserData('Username');
    $sql = "SELECT `Username`, `Uplata`, `Dobivka`, `Date` FROM `kladilnica` WHERE `Username`='$user'";
    $result = $conn->query($sql);
    if($result === false) {
        echo "<b>Could not connect to database.</b>";
        trigger_error('Wrong SQL: ' . $sql . ' Error: ' . $conn->error, E_USER_ERROR);
    } else {
        if($result->num_rows == 0) {
            echo "<b>Something went wrong try again later.</b>";
        } else if($result->num_rows >= 1) {
            echo "<table id='t01'><tr><th>ID</th><th>Username</th><th>Uplata</th><th>Dobivka</th><th>Date</th></tr>";
            while($row = $result->fetch_assoc()) {
                $count = $count + 1;
                echo "<tr><td>".$count."</td> <td>".$row["Username"]."</td> <td>".$row["Uplata"]."</td> <td>".$row["Dobivka"]."</td> <td>".$row["Date"]."</td></tr>";
            }
                echo "<tr><th colspan='5'>Vkupna Uplata:</th></tr>";
                echo "<tr><th colspan='5'>Vkupna Dobivka:</th></tr>";
                echo "</table>";
            }
        }
    $conn->close();
    ?>

您正在读取表达式 $count + 1 中的变量 $count。在 while 循环的第一次迭代中,尚未分配变量,这会导致错误。您不能 read/use 尚未定义的变量。

解决方法很简单:在循环之前将$count初始化为0

$count = 0;
while($row = $result->fetch_assoc()) {
   $count = $count + 1;
   echo "<tr><td>".$count."</td> ......";
}

您需要先将 $count 初始化为某个值,然后再尝试使用 $count = $count + 1 递增它。您可以将 while 循环更改为 for 循环并在 for 语句中初始化 $count

for ($count = 0; $row = $result->fetch_assoc(); $count++){
    // do something
}

我建议更改

$count = $count + 1;

$count+=1;

这应该可以解决问题。