<?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需要调用吗,如果来回查询个几万次,怎么处理

解决方案 »

  1.   

    自己看不懂,就说人家有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(),但反对这样做。 
      

  2.   

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