4

在类方法中使用 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

4

1 回答 1

3

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

自从mysql_free_result()

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

如果您要获取很多结果,那么是的,您可以(并且应该)使用此功能来释放您的 mysql 以节省内存。

至于你的其余问题:

方法结束时会释放内存还是需要在方法结束时调用 mysql_free_result ?

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

我希望它有所帮助。干杯。

于 2012-11-11T03:14:45.110 回答