php跳过mysqli的第一行结果

时间:2016-10-19 08:18:25

标签: php mysql mysqli

使用while循环,它跳过第一行并使用do while循环,它显示最后一行。代码如下:

$query = "select * from sear where wrrnt_no like '%".$text."%'";
$result = $connection->query($query);
echo "<table>";
while(($row = $result->fetch_assoc())!==null) {
  $row = mysqli_fetch_row($result);

  echo "<tr>";
  echo "<td width=".'10'.">";
  $warrent = $row[0];
  echo $warrent;
  echo "</td>";
  echo "<td width=".'10'.">";
  $warrent_date = $row[1];
  echo $warrent_date;
  echo "</td>";
}

echo "</table>";

感谢您提前回复。

1 个答案:

答案 0 :(得分:2)

问题是你要两次获取行。 一次使用$result->fetch_assoc,另一次使用mysqli_fetch_row

因此您需要删除此行:$row = mysqli_fetch_row($result);,因为该行已被提取。

我认为它不是缺少的最后一行或第一行,而是来自表的一半行。在一种情况下,从第一种开始,在另一种情况下以第二种情况开始。

<强>已更新

如果您想拥有数字索引,则需要使用fetch_row。所以将代码更改为:

$query = "select * from sear where wrrnt_no like '%".$text."%'";
$result = $connection->query($query);
echo "<table>";
while(($row = $result->fetch_row())!==null)
{

  $warrent = $row[0];
  //...the rest of echo here
}

但我建议使用fetch_assoc然后使用列的名称,如下所示:$warrent = $row['wrrnt_no'];(如果这是您需要的)