关于php中释放资源mysql_free_result函数,释放资源是什么意思,是不是把mysql_query结果集中的值清空?

$sql="selectcount(id)fromemp";$res=mysql_query($sql);if($row=mysql_fetch_row($res)){$... $sql="select count(id) from emp";
$res=mysql_query($sql);
if($row=mysql_fetch_row($res)){
$pageCount=ceil($row[0]/$pageSize);
}
mysql_free_result($res);
mysql_close();
return $pageCount;
$res资源释放了,return返回值,$pageCount还有值吗,
展开
 我来答
nbyh2012
2013-07-26 · TA获得超过3278个赞
知道小有建树答主
回答量:483
采纳率:100%
帮助的人:798万
展开全部

mysql查询结果句柄会消耗内存。为了节约内存,在使用完毕后可以手动释放。不过一般情况下不需要这么做,程序结束会自动释放的。


这里的$pageCount变量存在。因为释放mysql句柄$res和$pageCount无关。

以下方法可以释放$pageCount:

unset($pageCount);

望采纳,谢谢支持!

追问
$pageCount变量的值为什么还会存在,$pageCount变量的值不是释放了吗?
追答
$pageCount是你自己定义的变量,和句柄$res没有关系。
只会释放资源$res,不会影响到其他变量。
阳光上的桥
2013-07-26 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21424 获赞数:65806
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
你这么理解吧,释放后的资源,就是不能再次mysql_fetch_row,除非重新mysql_query这个变量。

释放具体的操作细节,主要是PHP的MYSQL扩展代码内部,释放一些申请的变量、空间、指针等,对你这个变量本身没什么变化,对MYSQL数据库里面的数据也没有影响。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cb4985820
2013-07-26 · TA获得超过562个赞
知道小有建树答主
回答量:250
采纳率:0%
帮助的人:232万
展开全部
数据库取出的结果集是存放在内存上的,释放资源,就是在你不使用该内存上的数据的时候,告诉电脑,收回分配给这个资源的内存,数据也就被销毁咯,你的$pagecount在释放后还是有值的,他不是资源的一部分,一般只有 在结果集非常大的时候,才调用此函数释放,因为脚本结束后,所有的资源都会自动释放
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友46d2ed5a28
2013-07-26 · TA获得超过1363个赞
知道小有建树答主
回答量:393
采纳率:0%
帮助的人:127万
展开全部
mysql_free_result 可以使用。不会 影响$pageCount的结果。这个是释放mysql资源的。

这个在php用的少。在c/c++加mysql中是必不可少的函数。这是mysql.h的api。在php中可以不使用。

另外,mysql_close(这里是资源链接).希望可以帮到你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乐观的九久未归
2013-07-26
知道答主
回答量:12
采纳率:0%
帮助的人:1.7万
展开全部
mysql_free_result(data)

参数描述

data 必需。要释放的结果标识符。该结果标识符是从 mysql_query() 返回的结果。

是把结果集的返回结果清空
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式