Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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-发布结果集_Php_Resultset - Fatal编程技术网

PHP-发布结果集

PHP-发布结果集,php,resultset,Php,Resultset,我一直在网上寻找,我看到的每一篇文章似乎都说了一些稍微不同的东西。如果我正在使用一个结果集,并且程序在发布结果之前退出,那么具体会发生什么 有没有更好的方法来确保它总是发生?数据库连接也是如此 if($statement->fetch()) { exit("Result!"); } $statement->free_result(); 您可以在PHP中使用,以确保一个函数/许多函数在退出时启动。在您的示例中,您还可以将if语句更改为以下内容

我一直在网上寻找,我看到的每一篇文章似乎都说了一些稍微不同的东西。如果我正在使用一个结果集,并且程序在发布结果之前退出,那么具体会发生什么

有没有更好的方法来确保它总是发生?数据库连接也是如此

    if($statement->fetch()) {
        exit("Result!");
    }

    $statement->free_result();
您可以在PHP中使用,以确保一个函数/许多函数在退出时启动。在您的示例中,您还可以将if语句更改为以下内容:

$exitResult = null;
if($statement->fetch()) {
    $exitResult = "Result!";
}

$statement->free_result();
if ($exitResult !== null) exit($exitResult);
但是应该注意的是,大多数插件/扩展(连接到数据库等)在关闭PHP进程后(在脚本末尾)会自行清理


如果在类中使用它,则可以保存对
$语句的引用,然后在类中使用函数。

自由\u结果告诉数据库引擎它可以释放结果集

只有当您关心返回大型结果集的查询使用了多少内存时,才需要调用它。脚本执行结束时,将自动释放所有关联的结果内存

您可以使用
register\u shutdown\u功能
确保将结果从内存中释放出来

function shutdown(){
    global $statement;
    if($statement){
        $statement->free_result();
    }
}

register_shutdown_function('shutdown');