检索所有行,但第一个记录丢失(Retrieve all row but the first reco

2019-10-29 17:50发布

$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中的第一行是丢失。 我想知道为什么。

Answer 1:

在代码中,你调用$row = $result->fetch_assoc(); 刚开始你的面前while循环。 此行是“消费”的第一胎,当你在循环正在进入,您可以通过调用此方法同样第二次将光标移动到第二行。

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

要解决你的代码,删除此第一道防线。

希望这会有所帮助。



文章来源: Retrieve all row but the first record is missing