使用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>";
感谢您提前回复。
答案 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'];
(如果这是您需要的)