PHP DBA 函数库 及 使用

在柏克莱的 BSD 系列操作系统中,有个简单的数据库结构,它以数个文件组成超小型的数据库系统,架构成抽象层 (abstraction layer) 的 DBA 数据库。

目前 PHP 支持的 DBA 数据库包括

  1. dbm:柏克莱发展的最早期 DBA 数据库。 ndbm:较新且较有弹性的 DBA。 gdbm:GNU 发展的 DBA, ftp://ftp.gnu.org/pub/gnu/gdbm/ db2:由 Sleepycat 软件开发的 DB2 (非 IBM 的 DB2), http://www.sleepycat.com
  2. cdb:这是 qmail 作者开发快速可靠的 DBA, http://pobox.com/~djb/cdb.html

以下是简单的使用范例,当然在使用前,必须先装好 DBA。

<?php
  $id = dba_open ( "/tmp/test.db" , "n" , "db2" );

  if(! $id ) {
    echo "dba_open failedn" ;
    exit;
  }

  dba_replace ( "key" , "This is an example!" , $id );

  if( dba_exists ( "key" , $id )) {
    echo dba_fetch ( "key" , $id );
    dba_delete ( "key" , $id );
  }

  dba_close ( $id );
?>

dba_close : 关闭数据库。
dba_delete : 删除指定资料。
dba_exists : 检查键是否存在。
dba_fetch : 取回指定资料。
dba_firstkey : 取回首笔键值。
dba_insert : 加入资料。
dba_nextkey : 取回下笔键值。
dba_popen : 打开并保持数据库链接。
dba_open : 打开数据库链接。
dba_optimize : 最佳化数据库。
dba_replace : 改动或加入资料。
dba_sync : 数据库同步化。

  dba_close  关闭数据库。
  语法: void dba_close(int handle);
  返回值: 无
  函数种类: 数据库功能
  内容说明 本函数用来将已打开的数据库关闭。参数 handle 为打开数据库时所返回来的代号 ID。
  参考 dba_popen() dba_open()

  dba_delete   删除指定资料。
  语法: int dba_delete(string key, int handle);
  返回值: 整数
  函数种类: 数据库功能
  内容说明 本函数将删除指定的资料。参数 key 为欲删除的键值 (key)。参数 handle 为打开数据库时所返回来的代号 ID。删除成功则返回 true 值。
  参考 dba_exists() dba_fetch() dba_insert() dba_replace()

  dba_exists  检查键是否存在。
  语法: boolean dba_exists(string key, int handle);
  返回值: 布尔值
  函数种类: 数据库功能
  内容说明 本函数用来检查指定的键是否存在。参数 key 为待检查的键值 (key)。参数 handle 为打开数据库时所返回来的代号 ID。若键存在则返回 true 值。
  参考 dba_delete() dba_fetch() dba_insert() dba_replace()

  dba_fetch  取回指定资料。
  语法: string dba_fetch(string key, int handle);
  返回值: 字符串
  函数种类: 数据库功能
  内容说明 本函数取得指定的资料。参数 key 为欲取出资料的键值 (key)。参数 handle 为打开数据库时所返回来的代号 ID。返回值即为资料字符串,若取出失败则返回 false。
  参考 dba_exists() dba_delete() dba_insert() dba_replace()

  dba_firstkey  取回首笔键值。
  语法: string dba_firstkey(int handle);
  返回值: 字符串
  函数种类: 数据库功能
  内容说明 本函数取得数据库的第一笔键值 (key)。参数 handle 为打开数据库时所返回来的代号 ID。返回值即为键值,若取出失败则返回 false。
  参考 dba_nextkey()

  dba_insert   加入资料。
  语法: boolean dba_insert(string key, string value, int handle);
  返回值: 布尔值
  函数种类: 数据库功能
  内容说明 本函数将加入资料至数据库中。参数 key 为键值 (key) 字符串。参数 value 为欲加入的资料内容。参数 handle 为打开数据库时所返回来的代号 ID。成功则返回 true 值。
  参考 dba_exists() dba_fetch() dba_delete() dba_replace()

  dba_nextkey  取回下笔键值。
  语法: string dba_nextkey(int handle);
  返回值: 字符串
  函数种类: 数据库功能
  内容说明 本函数取得数据库的下一笔键值 (key)。参数 handle 为打开数据库时所返回来的代号 ID。返回值即为键值,若取出失败则返回 false。
  参考 dba_firstkey()

   dba_popen
  打开并保持数据库链接。
  语法: int dba_popen(string path, string mode, string handler);
  返回值: 整数
  函数种类: 数据库功能
  内容说明 本函数用来打开指定的数据库,并保持与数据库连接的状态。参数 path 为数据库的路径及数据库名称,例如 "/tmp/mysite/wahaha.db"。参数 mode 值如下表

属性 说明
r 打开只读既有数据库
w 打开可读写既有数据库
c 打开可读写数据库,若不存在则建立
n 删去现有数据库,若不存在则建立,之后可读写

  参数 handler 为打开数据库的种类,有 dbm、ndbm、gdbm、db2 或 cdb 等种类。返回值为数据库的代号 ID,若失败则返回 false。 参考 dba_close() dba_open()

   dba_open  打开数据库链接。
  语法: int dba_open(string path, string mode, string handler);
  返回值: 整数
  函数种类: 数据库功能
  内容说明 本函数用来打开指定的数据库。参数 path 为数据库的路径及数据库名称,例如 "/tmp/mysite/wahaha.db"。参数 mode 值如下表

属性 说明
r 打开只读既有数据库
w 打开可读写既有数据库
c 打开可读写数据库,若不存在则建立
n 删去现有数据库,若不存在则建立,之后可读写

   参数 handler 为打开数据库的种类,有 dbm、ndbm、gdbm、db2 或 cdb 等种类。返回值为数据库的代号 ID,若失败则返回 false。本函数和 dba_popen() 不同的地方在于本函数打开的数据库在 PHP 程序结束后即关闭,dba_popen() 会保持与数据库连接,待下次再执行,则不必再打开与数据库的链接。
参考 dba_close() dba_popen()

  dba_optimize
  最佳化数据库。
  语法: boolean dba_optimize(int handle);
  返回值: 布尔值
  函数种类: 数据库功能
  内容说明 本函数将数据库最佳化。参数 handle 为打开数据库时所返回来的代号 ID。最佳化成功则返回   true 值,反之则返回 false。
  参考 dba_sync()

  dba_replace   改动或加入资料。
  语法: boolean dba_replace(string key, string value, int handle);
  返回值: 布尔值
  函数种类: 数据库功能
  内容说明 本函数改动数据库中的资料,若资料不存在则加入。参数 key 为键值 (key) 字符串。参数 value 为欲改动的资料内容。参数 handle 为打开数据库时所返回来的代号 ID。成功则返回 true 值。
  参考 dba_exists() dba_fetch() dba_delete() dba_insert()

  dba_sync   数据库同步化。
  语法: boolean dba_sync(int handle);
  返回值: 布尔值
  函数种类: 数据库功能
  内容说明 本函数使系统在更新数据库时,能同时写入实体的数据库储存装置 (如硬碟) 之中。参数 handle 为打开数据库时所返回来的代号 ID。同步成功则返回 true 值,反之则返回 false。
  参考 dba_optimize()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值