当本地变量不再存在时,mysql_query是释放内存的吗?

时间:2012-11-11 03:03:42

标签: php mysql memory-management

在类方法中使用mysql_query并将其设置为局部变量时,在方法执行完毕或脚本结束时释放内存?是否值得添加mysql_free_result?以下是示例。

class example{
    public function Query($query){
        $result = mysql_query($query);
        while ($row = mysql_fetch_assoc($result))
        {
            $this->rows[] =$row;
        }
    }
}

方法完成时是否会释放内存,或者在方法结束时是否需要调用mysql_free_result

1 个答案:

答案 0 :(得分:3)

首先,不再维护mysql_个php函数,因此您可能希望使用更OOP个方法,例如mysqliPDO函数。

mysql_free_result()

以来
  

将释放与结果标识符结果相关的所有内存。

如果您正在获取大量结果,那么您可以(并且应该)使用此函数来释放您的mysql以节省内存。

关于你的其余问题:

  

当方法结束时是否会释放内存,或者在方法结束时是否需要调用mysql_free_result?

不,如果您没有使用mysql_free_result,则在方法结束时不会释放内存,而是在脚本执行结束时释放内存。

我希望它有所帮助。欢呼声。