PHP的问题!mysql_free_result只能用一次?

mysql_free_result($a,$b,$c);这样竟然不行?变成mysql_free_result($a);mysql_free_result($b);mysq... mysql_free_result($a,$b,$c);

这样竟然不行?

变成
mysql_free_result($a);
mysql_free_result($b);
mysql_free_result($c);
还是不行...

请教mysql_free_result的正确使用方法.页面数据过多,实在太卡了~
我的代码是这样的.
$abc1=mysql_query("select count(0) as counts from abc where id='$wid'") or die("errr");
$abc1=mysql_fetch_array($J_count1);
$abc2=$abc1['counts'];
mysql_free_result($abc1);
展开
 我来答
匿名用户
推荐于2016-07-26
展开全部
比如你

$aa = mysql_query($sql);

//释放查询结果
mysql_free_result($aa);

定义和用法
mysql_free_result() 函数释放结果内存。

如果成功,则返回 true,如果失败,则返回 false。

语法
mysql_free_result(data)参数 描述
data 必需。要释放的结果标识符。该结果标识符是从 mysql_query() 返回的结果。
提示和注释
注释:mysql_free_result() 仅需要在考虑到返回很大的结果集时会占用多少内存时调用。在脚本结束后所有关联的内存都会被自动释放。
例子
<?php
$con = mysql_connect("localhost", "peter", "abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

$db_selected = mysql_select_db("test_db",$con);

$sql = "SELECT * from Person";
$result = mysql_query($sql,$con);
print_r(mysql_fetch_row($result));

// 释放内存
mysql_free_result($result);

$sql = "SELECT * from Customers";
$result = mysql_query($sql,$con);
print_r(mysql_fetch_row($result));

mysql_close($con);
?>
阳光上的桥
2008-09-04 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21424 获赞数:65789
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
你下面这样的代码是错误的:
$abc1=mysql_query("select count(0) as counts from abc where id='$wid'") or die("errr");
$abc1=mysql_fetch_array($J_count1);
$abc2=$abc1['counts'];
mysql_free_result($abc1);

第一句mysql_query执行之后$abc1变量是一个查询结果的资源,以后可以mysql_free_result来释放它,但是你的第二句执行的mysql_fetch_array语句重复使用了$abc1,这以后$abc1已经是一个数组了,这时候丢失了以前的资源变量,你已经无法使用mysql_free_result了。

应该修改如下:

$abc1=mysql_query("select count(0) as counts from abc where id='$wid'") or die("errr");
$row1=mysql_fetch_array($J_count1);
$abc2=$abc1['counts'];
mysql_free_result($abc1);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2e4ceecc6
2008-09-05
知道答主
回答量:21
采纳率:0%
帮助的人:15.6万
展开全部
$abc1不是数据集,所以free失败。
$abc1,这种名字尽量取不相同的,

$sql=mysql_query("select count(0) as counts from abc where id='$wid'") or die("errr");
$re=mysql_fetch_array($sql);
$counts=$re['counts'];
mysql_free_result($re);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ourbit
2008-09-07 · TA获得超过1788个赞
知道小有建树答主
回答量:532
采纳率:0%
帮助的人:322万
展开全部
深有同感,玩这个的朋友有时候为一个简单的符号能一晚上不休息,做梦还是满脑子代码。
... ...
$result=mysql_query($query)
... ...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式