未定义的变量错误,但我想要的是工作正常

Undefined variable error but what i want is working fine

我收到未定义变量错误,但一切正常。 我试图做的是前 10 名比赛获胜者的输出,它适用于此代码,但显示 $ID 的未定义变量 这是代码

<?php
$query = $koneksi->prepare("SELECT `user`, `RaceWon` FROM `pdata` WHERE `banned`=0 ORDER BY `RaceWon` DESC LIMIT 10");
$query->execute();
if($query->rowCount() == 0)
{
    echo "<tr><td colspan='6'><small>No rows found</small></td></tr>";
}
while($data = $query->fetch())
{
    $ID++; //<- Undefined variable but the function works what i wanted
    echo "<tr><td>".$ID."</td>";
    echo "<td>".$data['user']."</td>";
    echo "<td>".$data['RaceWon']."</td></tr>";
}
?>

任何帮助将不胜感激.. 谢谢

试试这个:

<?php
$query = $koneksi->prepare("SELECT `user`, `RaceWon` FROM `pdata` WHERE `banned`=0 ORDER BY `RaceWon` DESC LIMIT 10");
$query->execute();
if($query->rowCount() == 0)
{
    echo "<tr><td colspan='6'><small>No rows found</small></td></tr>";
}
$ID = 0;
while($data = $query->fetch())
{
    $ID++; //<- Undefined variable but the function works what i wanted
    echo "<tr><td>".$ID."</td>";
    echo "<td>".$data['user']."</td>";
    echo "<td>".$data['RaceWon']."</td></tr>";
}
?>

你需要在循环之前初始化$ID

$ID = 0;
while ($data = $query->fetch())
{
    $ID++;
    ...
}

它仍然有效,因为当您尝试将单元化变量用作数字时,它会自动转换为 0。但它仍然打印警告,因为它最初是未定义的。