gpt4 book ai didi

php - free_result() 与 MY_Model

转载 作者:行者123 更新时间:2023-11-29 13:43:53 27 4
gpt4 key购买 nike

我在尝试创建的 MY_Model 中有一个 get 函数,它返回单个记录或所有记录。我想做的是,当我得到结果时,总是用 free_result() 释放一些内存,但如果我把它放在返回结果的行中,我什么也得不到。请问有什么建议吗?

public function get($id = NULL, $single = FALSE){

if ($id != NULL) {

$filter = $this->_primary_filter; // filter the id
$id = $filter($id); // e.g. intval($id)

$this->db->where($this->_primary_key, $id);

$method = 'row'; // single record
} elseif ($single === TRUE) {
$method = 'row'; // single record
} else {
$method = 'result'; // all records
}
return $this->db->get($this->_table_name)->$method();
}

最佳答案

在 Controller 中使用结果之前,无法释放结果内存。结果可能不是通过值返回,而是通过指针/引用返回,因此结果始终位于内存中的同一位置,直到呈现页面为止。

使用free_result(),您可以在 Controller 使用结果之前将其销毁。

顺便说一句:结果也可能作为指针/引用发送到 View ,因此如果在渲染页面之前销毁 Controller 中的结果,则可能会出现没有结果的页面。

关于php - free_result() 与 MY_Model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17719043/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com