Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用偏移行提取的sql没有足够的结果_Php_Mysql_Mysqli - Fatal编程技术网

Php 使用偏移行提取的sql没有足够的结果

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行的情况,一

当使用偏移行提取请求结果时,如果找到的结果少于m个,会发生什么情况?你将如何有效地处理它

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只返回剩余的行(如果没有剩余的行,则返回零)。但你为什么不试试看会发生什么?我会试试的,我需要理顺我的逻辑