background image

PHP 中使用 DBM 作为数据库

在众多

CGI 语言中,PHP 以其简单,快速的优点开始逐渐成长,使用 PHP 开发程序的

人也越来越多,而一般

PHP 用的数据库就两种:文本以及 MySQL。文本数据库读、写速度

慢,当数据到达一定量时就会大大的降低速度乃至崩溃!而

MYSQL 虽然速度快,功能强大,

不过不是一般的业余爱号者所能用得起的

,因为一般的免费空间都不支持 MYSQL(有主机的

朋友就不要往下看了

)

今天笔者介绍的是

DBM 数据库,DBM 是柏克莱大学发展的文件/文本型数据库,在 BSD

系统中已经安装完毕,即使没有安装,在

PHP4.03 中也加入了 DBM 的支持。因此,在大部

份支持

PHP 的空间中都支持 DBM(支持 PHP 的空间详见 www.zphp.com)下面将分步介绍在

PHP 使用 DBM 做为数据库:

一、判断你的空间是否支持

DBM 的方法:

输入下面的程序:
----------------------------------------------------
<?
echodblist();
?>
----------------------------------------------------
保存为

dbmtest.php,运行,看看是否输出函数没有定义,如果不是,恭喜

……

二、

PHP 使用 DBM 的基本函数:

1、intdbmopen(stringfilepath,stringmode);
这个可以打开一个

DBM 数据库,其中 filepath 为 DBM 数据库的路径,mode 有 4 个参

数:

"r"以只读的方式打开数据库;"w"以读写方式打开数据库;"c"以读写方式打开数据库,

若不存在则建立;

"n"删去现有数据库,以读写方式打开数据库。

2、booleandbmclose(inthandle);关闭一个已经打开了的 DBM 数据库,同时释放 handle。
3、stringdbmfetch(inthandle,stringkey);取得已经打开了的 handle 数据库的 key 所对应的值。
4、booleandbmexists(inthandle,stringkey);判断在已经打开了的 handle 数据库中是否存在 key。
5、stringdbmfirstkey(inthandle);取得已经打开了的 handle 数据库的物理第一个 key。
6、stringdbmnextkey(inthandle,stringkey);
取 得 已 经 打 开 了 的

handle 数 据 库 中 的 key 所 对 应 的 下 一 个 key( 就 是 dbmnextkey 和

dbmfirstkey 两个函数实现了 dbm 的遍历搜索!)
7、booleandbminsert(inthandle,stringkey,stringvalue);
在已经打开了的

handle 数据库中插入一个 key,其对应的值为 value,如果已经存在 key 则

返回

false。

8、booleandbmreplace(inthandle,stringkey,stringvalue);
在已经打开了的

handle 数据库中替换 key 所对应的值成为 value,如果不存在 key 则返回建