关于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还有值吗, 展开
$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还有值吗, 展开
6个回答
展开全部
mysql查询结果句柄会消耗内存。为了节约内存,在使用完毕后可以手动释放。不过一般情况下不需要这么做,程序结束会自动释放的。
这里的$pageCount变量存在。因为释放mysql句柄$res和$pageCount无关。
以下方法可以释放$pageCount:
unset($pageCount);
望采纳,谢谢支持!
追问
$pageCount变量的值为什么还会存在,$pageCount变量的值不是释放了吗?
追答
$pageCount是你自己定义的变量,和句柄$res没有关系。
只会释放资源$res,不会影响到其他变量。
展开全部
你这么理解吧,释放后的资源,就是不能再次mysql_fetch_row,除非重新mysql_query这个变量。
释放具体的操作细节,主要是PHP的MYSQL扩展代码内部,释放一些申请的变量、空间、指针等,对你这个变量本身没什么变化,对MYSQL数据库里面的数据也没有影响。
释放具体的操作细节,主要是PHP的MYSQL扩展代码内部,释放一些申请的变量、空间、指针等,对你这个变量本身没什么变化,对MYSQL数据库里面的数据也没有影响。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据库取出的结果集是存放在内存上的,释放资源,就是在你不使用该内存上的数据的时候,告诉电脑,收回分配给这个资源的内存,数据也就被销毁咯,你的$pagecount在释放后还是有值的,他不是资源的一部分,一般只有 在结果集非常大的时候,才调用此函数释放,因为脚本结束后,所有的资源都会自动释放
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
mysql_free_result 可以使用。不会 影响$pageCount的结果。这个是释放mysql资源的。
这个在php用的少。在c/c++加mysql中是必不可少的函数。这是mysql.h的api。在php中可以不使用。
另外,mysql_close(这里是资源链接).希望可以帮到你
这个在php用的少。在c/c++加mysql中是必不可少的函数。这是mysql.h的api。在php中可以不使用。
另外,mysql_close(这里是资源链接).希望可以帮到你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
mysql_free_result(data)
参数描述
data 必需。要释放的结果标识符。该结果标识符是从 mysql_query() 返回的结果。
是把结果集的返回结果清空
参数描述
data 必需。要释放的结果标识符。该结果标识符是从 mysql_query() 返回的结果。
是把结果集的返回结果清空
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询