mysql_free_result()函数释放内存,数据库操作完成后,需要关闭结果集,以释放系统资源,该函数的语法格式如下:
mysql_free_result($result);
mysql_free_result()函数将释放所有与结果标识符result所关联的内存。该函数公需要在考虑到返回很大的结果集时会占用多少内存时调用。在脚本结束后所有关联的内存都会被自动释放,下面举一个使用该函数释放内存的例子,具体代码如下:
<?php
mysql_connect("localhost","root","111");
mysql_select_db("db_database08");
$result = mysql_query("select * from tb_book");
while($row=mysql_fetch_array($result)){
printf("ID: %s BookName:%s",$row[0],$row["bookname"])."<br>";
}
mysql_free_result($result); //释放结果内存空间
?>
本示例的运行结果如下:
-- phpMyAdmin SQL Dump
-- version 2.10.3
-- http://www.phpmyadmin.net
--
-- 主机: localhost
-- 生成日期: 2014 年 09 月 24 日 17:22
-- 服务器版本: 5.0.51
-- PHP 版本: 5.2.6
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- 数据库: `db_database08`
--
-- --------------------------------------------------------
--
-- 表的结构 `tb_book`
--
CREATE TABLE `tb_book` (
`id` int(4) NOT NULL auto_increment,
`name` varchar(30) character set utf8 collate utf8_unicode_ci NOT NULL,
`pen` varchar(30) character set utf8 collate utf8_unicode_ci NOT NULL,
`pub` varchar(30) character set utf8 collate utf8_unicode_ci NOT NULL,
`date` varchar(30) character set utf8 collate utf8_unicode_ci NOT NULL,
`rate` varchar(30) character set utf8 collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
--
-- 导出表中的数据 `tb_book`
--
INSERT INTO `tb_book` VALUES (1, '学通PHP', '生活导航', 'http://www.ie00.net/', '2009-08-01', '69.0');
INSERT INTO `tb_book` VALUES (2, '学通PHP', '生活导航', 'http://www.ie00.net/', '2010-06-01', '79.0');
INSERT INTO `tb_book` VALUES (3, '学通PHP', '生活导航', 'http://www.ie00.net/', '2008-05-05', '95.0');
INSERT INTO `tb_book` VALUES (4, '学通PHP', '生活导航', 'http://www.ie00.net/', '2007-09-01', '89.0');