使用OFFSET行提取请求结果时,如果找到的结果数少于m,会发生什么?你会如何有效地处理它?</ p>
SELECT column-names
FROM table-name
ORDER BY column-names
OFFSET n ROWS
FETCH NEXT m ROWS ONLY
答案 0 :(得分:0)
结果集总是可以包含比预期更少的行。明智的程序员从不假设结果集将具有精确预测的行数,但始终使用基于是否保留任何行的循环。你继续读行,直到你读完所有行。
一些完全正常的结果集可能根本不包含任何行。考虑这样一种情况:表格中只包含20行,并且您一次只能读取10行。 10行的第三个块将为空。
mysqli的fetch_row()
方法文档中的示例清楚地说明了这一点。
if ($result = $mysqli->query($query)) {
while ($row = $result->fetch_row()) {
/* process the row ... */
}
/* free result set */
$result->close();
}