php - while 语句跳过第一行

标签 php database function if-statement while-loop

我认为是因为 if 语句,while 语句跳过了第一个。

但我需要 IF,我需要 WHILE。

这是我的代码:

            if($row_antwoorden_select = mysqli_fetch_array($results_antwoorden_select)){
            while($row_antwoorden_select = mysqli_fetch_array($results_antwoorden_select)){
                $antwoorden .= "".$row_antwoorden_select['naam']."".$row_antwoorden_select['methode']." <a href='".$row_antwoorden_select['url']."'>Open</a><br>";  
                $once_info = "<h4>Antwoorden:</h4>".$select_menu."<br>";
            }
        }

最佳答案

看起来您的 if 语句只是检查查询是否有结果。如果这是真的,并且您真的想保留 if 语句,则可以更新它以使用 mysqli_num_rows()相反:

if(mysqli_num_rows($results_antwoorden_select) > 0) {
    while($row_antwoorden_select = mysqli_fetch_array($results_antwoorden_select)){
        $antwoorden .= "".$row_antwoorden_select['naam']."".$row_antwoorden_select['methode']." <a href='".$row_antwoorden_select['url']."'>Open</a><br>";  
        $once_info = "<h4>Antwoorden:</h4>".$select_menu."<br>";
    }
}

注意:如果没有任何结果,mysqli_fetch_array() 将返回 null,所以技术上只是消除 if block entirely 将使您的示例代码完美运行。

或者,如果您真的想要将 mysqli_fetch_array() 保留在 if block 中,您可以将循环更新为 do/while 代替:

if($row_antwoorden_select = mysqli_fetch_array($results_antwoorden_select)) {
    do {
        $antwoorden .= "".$row_antwoorden_select['naam']."".$row_antwoorden_select['methode']." <a href='".$row_antwoorden_select['url']."'>Open</a><br>";  
        $once_info = "<h4>Antwoorden:</h4>".$select_menu."<br>";
    } while($row_antwoorden_select = mysqli_fetch_array($results_antwoorden_select));
}

关于php - while 语句跳过第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44477669/

相关文章:

javascript - 在 React 的组件构造函数中传递函数

php - 仅知道年份的日期(例如 1570-00-00)

mysql - 将 secret 信息存储在数据库中

php - MySQL数据库设计困惑|权限

php - 找不到类 'Db'

c++ - cpp文件中函数的顺序

delphi - Delphi中的结果值逻辑?

php - 处理php时出错

php - 如何使用php删除父元素?

php - Paypal PAYOUT_NOT_AVAILABLE