如何判断我是否在数据集的最后一行?

时间:2010-09-14 19:32:56

标签: php mysql

我希望得到一些帮助,我有一个我正在尝试使用的结果集。结果包含2个字段和任意数量的行。

在调用fetch_row()时,如何判断方法是否到达最后一行?

我正在使用:

遍历行
while(list($className, $classID) = $result->fetch_row()) { 

  echo "<tr><td>$className has ID $classID.</td></tr>"

// Here, if the loop is for the last time I need to allow some extra code to run
// echo "<tr><td>Last Item.</td></tr>"

}

我正在考虑在while循环中使用增量计数器,将行与num_rows进行比较,但是我认为必须有一个明确的告诉你是否已到达最后一行

任何建议都非常感谢。 非常感谢 ShaunMc

2 个答案:

答案 0 :(得分:2)

  

我正在考虑在while循环中使用增量计数器,将行与num_rows进行比较,但是我认为必须有一个明确的告诉你是否已到达最后一行

不,我认为这实际上是唯一的方法,无论你使用哪个DB包装器(我认为它是PDO。)

真的很遗憾:PHP应该内置这样的东西,至少在foreach构造中。但事实并非如此。

答案 1 :(得分:0)

fetch_row()在到达结果集的末尾时返回null。

http://php.net/manual/en/mysqli-result.fetch-row.php

或者我错过了什么。