- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
在完成准备好的 mysqli $stmt->close() 和 $stmt->free_result() 之间的区别强>声明。
到目前为止我使用:
$mysqli = new mysqli(host,user,password,database);
$stmt = $mysqli->prepare(sql statement);
[...]
$stmt->free_result();
$mysqli->close();
一切似乎都很好。
但我看到很多程序员使用 $stmt->close 而不是 $stmt->free_result()。一旦我看到了他们两个:
$stmt->free_result();
$stmt->close();
$mysqli->close();
那么我应该选择什么,在什么情况下,为什么?
最佳答案
$stmt->free_result()
释放与结果集相关的内存,而 $stmt->close()
释放与准备语句相关的内存。随后调用 $stmt->close()
将取消所有剩余的结果。
本质上,调用 $stmt->close()
将提供与调用 $stmt->free_result()
相同的效果,因为它也取消了结果集.但是调用 $stmt->free_result()
不会清除准备语句使用的内存,在这种情况下您必须使用 $stmt->close()
。
就使用哪一个而言 - 可能存在您打算使用已初始化的准备语句但不再需要您当前拥有的结果集的情况。在这种情况下,您将等待调用 $stmt->close()
直到完成准备好的语句,然后在执行之前调用 $stmt->free_result()
另一个声明。
关于php - $stmt->close() 与 $stmt->free_result(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19531195/
我在尝试创建的 MY_Model 中有一个 get 函数,它返回单个记录或所有记录。我想做的是,当我得到结果时,总是用 free_result() 释放一些内存,但如果我把它放在返回结果的行中,我什么
$stmt = $mysqli->prepare("SELECT id, expire, status, username FROM username WHERE username= ?"); $st
If called from within a function, the return statement immediately ends execution of the current fun
在我从 CodeIgniter 模型中的事件记录查询中完成我的结果集后,我应该使用 $query->free_result() 还是 ActiveRecord 自动执行此操作? 最佳答案 PHP 将在
在完成准备好的 mysqli$stmt->close() 和 $stmt->free_result() 之间的区别强>声明。 到目前为止我使用: $mysqli = new mysqli(host,u
我写了这段代码: $stmt = $link->prepare($statement_string); // [...] $result_m = $stmt->result_metadata(); i
是否有时不调用 mysqli_result::free、mysqli_result::close、mysqli_result::free_result 可能更有益code> 尤其是当页面本身很短时,因
我是一名优秀的程序员,十分优秀!