PHP 与 DBM 的
“联姻”
在众多
CGI 语言中,PHP 以其简单,快速的优点开始逐渐成长,使用 PHP 开发程序的
人也越来越多,而一般
PHP 用的数据库就两种:文本以及 MySQL。文本数据库读、写速度
慢,当数据到达一定量时就会大大的降低速度乃至崩溃!而
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 则返回建