【发布时间】:2014-11-23 01:40:33
【问题描述】:
$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循环之前调用了fetch_assoc()。那就是吃第一张唱片。这个问题经常出现。是否有一些编码模板有这个问题? -
@GordonLinoff 编码模板?那么有什么解决办法呢?
-
去掉
while语句前的多余调用即可。