脑动力:PHP函数速查效率手册
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.7.4 mysql_free_result函数:释放结果内存

【功能说明】

该函数将释放所指定的结果内存。函数执行成功返回TRUE,否则返回FALSE。

注:该函数需要在考虑到返回很大的结果集,而会占用多少内存时调用。在脚本执行结束后,所有的结果内存都会被自动释放。

【函数语法】

bool mysql_free_result(resource result)

其中,参数result是从函数mysql_query()的执行中得到的结果集。该函数的返回值为布尔型。

【示例程序】下面使用多个函数连接数据库,查询数据表中的信息,然后使用本例函数释放内存。代码如下:

<?php
    //打开一个非持久的MySQL服务器的连接
    $link = mysql_connect("localhost", "root", "123456")or die("connection error: ".mysql_error());
    mysql_select_db("project",$link);//通过打开的连接选择数据库
    $sql = "select * from language";
                            //书写SQL语句,查询数据表中的字段
    $result = mysql_query($sql,$link);  //执行SQL语句
    $arrone = mysql_fetch_row($result);
                            //从结果集中取得一行数据作为枚举数组
    print_r($arrone);      //打印数组的内容
    echo "<br />";
    $fresult = mysql_free_result($result);
                            //释放结果内存
    var_dump($fresult);    //返回释放的结果
    mysql_close($link);    //关闭打开的连接
?>

以上代码的运行结果如图1.37所示。

图1.37 运行结果

上述代码中,使用$link = mysql_connect("localhost", "root","123456")or die("connection error: ".mysql_error());打开指定的本地MySQL服务器,连接错误时返回错误信息。通过书写SQL语句查询数据表language中的数据,然后通过语句$arrone = mysql_fetch_row($result); 获取到查询的结果集中的第一行数据,并输出。使用mysql_free_result($result);代码语句来释放结果的内存。返回的结果是bool(true),说明释放结果内存成功。