0
我想弄清楚为什么我的mysqli查询没有返回所有的行。出于某种原因,当数据库中有4个结果时,它返回3个结果。它完全跳过了数据库中的第一条记录。这是我的查询。MYSQLI fetch_array不工作
$results = "SELECT * FROM `results` LIMIT 10";
$result = $conn->query($results);
if ($result) {
?>
<div id="tableResults">
<div class="row1 bg">Predicted Sex</div>
<div class="row2 bg">Suggested Baby Boy Name</div>
<div class="row3 bg">Suggested Baby Girl Name</div>
<div class="breaker"></div>
<?php
/* fetch object array */
$i = 0;
$count = count($result->fetch_array());
while ($row = $result->fetch_array()) {
?>
<div class="row1 <?php if (!$i == $count - 1) { echo 'customborder'; } ?>"><?php echo $row['sex']; ?></div>
<div class="row2 <?php if (!$i == $count - 1) { echo 'customborder'; } ?>"><?php echo $row['boy_name']; ?></div>
<div class="row3 <?php if (!$i == $count - 1) { echo 'customborder'; } ?>"><?php echo $row['girl_name']; ?></div>
<?php
$i++;
}
}
$conn->close();
?>
在您的while循环中调用它之前调用fetch_array。这有效地损失了你的一行。 – MrVimes
那么,在'while'条件中检索结果之前调用'$ result-> fetch_array()'。这将检索第一行,这就是您遇到问题的原因。 – arkascha
谢谢!你是对的。 – MagentoMan