+ -
当前位置:首页 → 问答吧 → php官方例子有bug,简单问题

php官方例子有bug,简单问题

时间:2011-09-20

来源:互联网

<?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);
?>


为什么,上面两次mysql_query,只有第一次调用了mysql_free_result,下面的那个mysql_query需要调用吗,如果来回查询个几万次,怎么处理

作者: DrSmart   发布时间: 2011-09-20

我认为是你的脑子有问题

请把手册看明白了再发出指责!!!

作者: xuzuning   发布时间: 2011-09-20

引用 1 楼 xuzuning 的回复:

我认为是你的脑子有问题

请把手册看明白了再发出指责!!!


到底怎么处理,下面的是否用释放,看不懂才问的

作者: DrSmart   发布时间: 2011-09-20

自己看不懂,就说人家有Bug?这是什么逻辑?


mysql_free_result
(PHP 3, PHP 4, PHP 5)

mysql_free_result -- 释放结果内存
说明
bool mysql_free_result ( resource result )


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

mysql_free_result() 仅需要在考虑到返回很大的结果集时会占用多少内存时调用。在脚本结束后所有关联的内存都会被自动释放。 

如果成功则返回 TRUE,失败则返回 FALSE。 

为向下兼容仍然可以使用 mysql_freeresult(),但反对这样做。 

作者: xuzuning   发布时间: 2011-09-20

算了,你贴的和我看到的一样,一楼在最后一段说大概1w条数据,到底算不算大,官方的手册写的含糊,你也讲的含糊,还有别人能直接说的吗,太累了

作者: DrSmart   发布时间: 2011-09-20

不是BUG哦。自己运行就知道了。

作者: moumouguo   发布时间: 2011-09-20

相关阅读 更多