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

时间:2014-09-28 15:59:37

标签: 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.第一行缺失。我想知道为什么。

1 个答案:

答案 0 :(得分:3)

在您的代码中,您在开始$row = $result->fetch_assoc();循环之前调用while。这条线消耗了#34;你的第一个原始,当你进入循环时,你通过第二次调用相同的方法将光标移动到第二行。

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

的更多信息

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

希望这会有所帮助。