php - 检索所有行但缺少第一条记录

标签 php mysql sql mysqli

$query = "SELECT * FROM abc";

    if ($result = $db->query($query)) {

      $row = $result->fetch_assoc();


        while ($row = $result->fetch_assoc()) {

            $data[] = array("a"=>$row["a"], 
                            "b"=>$row["b"],
                            "c"=>$row["c"],
                            "d"=>$row["d"]
                            ); 


        }

        $result->close();
    }

$db->close();

        <?php foreach ($data as $row) { ?>

                <form action="">
                    <div class="col-lg-3">
                        <input type="text" value="<?php echo $row['a'] ?>"/>
                    </div>
                    <div class="col-lg-3">
                        <input type="text" value="<?php echo $row['b'] ?>"/>
                    </div>
                    <div class="col-lg-3">
                        <input type="text" value="<?php echo $row['c'] ?>"/>
                    </div>
                    <div class="col-lg-3">
                        <input type="text" value="<?php echo $row['d'] ?>"/>
                    </div>
                </form>

              <?php } ?>

上面是我用来检索表中所有行的确切代码。奇怪的是,我有 5 行,但它只显示 4 行。第一行丢失了。我想知道为什么。

最佳答案

在您的代码中,您在开始 while 循环之前调用 $row = $result->fetch_assoc();。该行正在“消耗”您的第一个原始数据,当您进入循环时,您可以通过第二次调用相同的方法将光标移动到第二行。

while 循环的条件在内容之前执行,在这里您可以找到有关 PHP While loop 的更多信息

要修复您的代码,请删除第一行。

关于php - 检索所有行但缺少第一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26086750/

相关文章:

javascript - 将 php 添加到 javascript (wordpress)

MySQL判断满足哪个条件

mysql - bundler : failed to load command: spring (/bin/spring)

php - 为什么不下单

php - 从 PHP 类回显变量

php - 我应该如何开始使用 PHP 的 OAuth 服务器

php - 从捐款表中选择用户职位

mysql - 如何保持 sequelize 与 AWS Lambda 函数的连接(或加速初始连接)?

MySQL 无法匹配字符串

mysql - 导入phpmyadmin错误