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); 展开
这样竟然不行?
变成
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); 展开
4个回答
推荐于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);
?>
$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);
?>
展开全部
你下面这样的代码是错误的:
$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);
$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);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$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);
$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);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
深有同感,玩这个的朋友有时候为一个简单的符号能一晚上不休息,做梦还是满脑子代码。
... ...
$result=mysql_query($query)
... ...
... ...
$result=mysql_query($query)
... ...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询