Php 使用偏移行提取的sql没有足够的结果
当使用偏移行提取请求结果时,如果找到的结果少于m个,会发生什么情况?你将如何有效地处理它Php 使用偏移行提取的sql没有足够的结果,php,mysql,mysqli,Php,Mysql,Mysqli,当使用偏移行提取请求结果时,如果找到的结果少于m个,会发生什么情况?你将如何有效地处理它 SELECT column-names FROM table-name ORDER BY column-names OFFSET n ROWS FETCH NEXT m ROWS ONLY 结果集总是可能包含比预期少的行。一个聪明的程序员从不认为结果集将有一个精确的预测行数,而是总是根据是否有行保留使用循环。你一直在读行,直到把它们全部读完 某些完全正常的结果集可能根本不包含行。考虑表包含20行的情况,一
SELECT column-names
FROM table-name
ORDER BY column-names
OFFSET n ROWS
FETCH NEXT m ROWS ONLY
结果集总是可能包含比预期少的行。一个聪明的程序员从不认为结果集将有一个精确的预测行数,而是总是根据是否有行保留使用循环。你一直在读行,直到把它们全部读完 某些完全正常的结果集可能根本不包含行。考虑表包含20行的情况,一次读取10行。第三块10行将为空 mysqli方法文档中的示例说明了这一点
if ($result = $mysqli->query($query)) {
while ($row = $result->fetch_row()) {
/* process the row ... */
}
/* free result set */
$result->close();
}
偏移n行
和仅获取下一个m行
不可用。MySQL支持限制[n,]m
或限制m偏移量n
。如果找到的行少于m
,MySQL只返回剩余的行(如果没有剩余的行,则返回零)。但你为什么不试试看会发生什么?我会试试的,我需要理顺我的逻辑