[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 編程技術 > Php > 正文
PHP4手冊:函數庫及函數(十) dbm 類資料庫函式庫
http://netleader.126.com 星空浪子 (2001-04-18 11:26:25)

--------------------------------------------------------------------------------
 dbm 類資料庫函式庫 
--------------------------------------------------------------------------------
 


本函式庫共有 10 個函式
dbm 為柏克萊大學所發展的檔案型資料庫。欲使用本函式可能需要先安裝相關的 DBM 函數館,當然在 BSD 系列的作業系統中已經裝好的就不用自行動手了。
dbm 在資料存取沒有很復雜的欄位,它只有單純的鍵/值 (key/value) 的欄位。

下例為簡單的 dbm 使用范例

function do_stuff() {
  // 略去復雜的資料處理流程
}
$dbm = dbmopen("lastseen", "w");
if (dbmexists($dbm, $userid)) {
  $last_seen = dbmfetch($dbm, $userid);
} else {
  dbminsert($dbm, $userid, time());
}
do_stuff();
dbmreplace($dbm, $userid, time());
dbmclose($dbm);
?>


 


dbmopen: 開啟 DBM 資料庫連結。 
dbmclose: 關閉 DBM 資料庫。 
dbmexists: 檢查鍵是否存在。 
dbmfetch: 取回指定資料。 
dbminsert: 加入資料。 
dbmreplace: 更動或加入資料。 
dbmdelete: 刪除指定資料。 
dbmfirstkey: 取回首筆鍵名。 
dbmnextkey: 取回下筆鍵值。 
dblist: 取得 DBM 的資訊。 


--------------------------------------------------------------------------------
 函式:dbmopen() 
--------------------------------------------------------------------------------
 


dbm 類資料庫函式庫


dbmopen
開啟 DBM 資料庫連結。

語法: int dbmopen(string filename, string flags);

傳回值: 整數

函式種類: 資料庫功能


 
 
內容說明 


本函式用來開啟指定的資料庫。參數 path 為資料庫的路徑加上資料庫名稱。參數 mode 值如下表

屬性 說明 
r 開啟唯讀既有資料庫 
w 開啟可讀寫既有資料庫 
c 開啟可讀寫資料庫,若不存在則建立 
n 刪去現有資料庫,若不存在則建立,之可讀寫 


傳回值為資料庫的代號 ID,若失敗則傳回 false。 


--------------------------------------------------------------------------------
 函式:dbmclose() 
--------------------------------------------------------------------------------
 


dbm 類資料庫函式庫


dbmclose
關閉 DBM 資料庫。

語法: boolean dbmclose(int handle);

傳回值: 布林值

函式種類: 資料庫功能


 
 
內容說明 


本函式用來將已開啟的資料庫關閉。參數 handle 為開啟資料庫時所傳回來的代號 ID。


--------------------------------------------------------------------------------
 函式:dbmexists() 
--------------------------------------------------------------------------------
 


dbm 類資料庫函式庫


dbmexists
檢查鍵是否存在。

語法: boolean dbmexists(int handle, string key);

傳回值: 布林值

函式種類: 資料庫功能


 
 
內容說明 


本函式用來檢查指定的鍵是否存在。參數 handle 為開啟資料庫時所傳回來的代號 ID。參數 key 為待檢查的鍵值 (key)。若鍵存在則傳回 true 值。

 

--------------------------------------------------------------------------------
 函式:dbmfetch() 
--------------------------------------------------------------------------------
 


dbm 類資料庫函式庫


dbmfetch
取回指定資料。

語法: string dbmfetch(int handle, string key);

傳回值: 字串

函式種類: 資料庫功能


 
 
內容說明 


本函式取得指定的資料。參數 handle 為開啟資料庫時所傳回來的代號 ID。參數 key 為欲取出資料的鍵值 (key)。傳回值即為資料字串,若取出失敗則傳回 false。

 

--------------------------------------------------------------------------------
 函式:dbminsert() 
--------------------------------------------------------------------------------
 


dbm 類資料庫函式庫


dbminsert
加入資料。

語法: int dbminsert(int handle, string key, string value);

傳回值: 整數

函式種類: 資料庫功能


 
 
內容說明 


本函式將加入資料至資料庫中。參數 handle 為開啟資料庫時所傳回來的代號 ID。參數 key 為鍵值 (key) 字串。參數 value 為欲加入的資料內容。成功則傳回 0;傳回值 -1 表示該資料庫檔案為唯讀的狀態;傳回值 1 則表示該鍵已經存在,可用 dbmreplace() 取代。

 

--------------------------------------------------------------------------------
 函式:dbmreplace() 
--------------------------------------------------------------------------------
 


dbm 類資料庫函式庫


dbmreplace
更動或加入資料。

語法: boolean dbmreplace(int handle, string key, string value);

傳回值: 布林值

函式種類: 資料庫功能


 
 
內容說明 


本函式更動資料庫中的資料,若資料不存在則加入。參數 handle 為開啟資料庫時所傳回來的代號 ID。參數 key 為鍵值 (key) 字串。參數 value 為欲更動的資料內容。成功則傳回 true 值。

 

--------------------------------------------------------------------------------
 函式:dbmdelete() 
--------------------------------------------------------------------------------
 


dbm 類資料庫函式庫


dbmdelete
刪除指定資料。

語法: boolean dbmdelete(int handle, string key);

傳回值: 布林值

函式種類: 資料庫功能


 
 
內容說明 


本函式將刪除指定的資料。參數 handle 為開啟資料庫時所傳回來的代號 ID。參數 key 為欲刪除的鍵值 (key)。若該鍵值不存在無法刪除則傳回 false
 

--------------------------------------------------------------------------------
 函式:dbmfirstkey() 
--------------------------------------------------------------------------------
 


dbm 類資料庫函式庫


dbmfirstkey
取回首筆鍵名。

語法: string dbmfirstkey(int handle);

傳回值: 字串

函式種類: 資料庫功能


 
 
內容說明 


本函式取得資料庫的第一筆鍵名 (key)。參數 handle 為開啟資料庫時所傳回來的代號 ID。傳回值即為鍵名,若取出失敗則傳回 false。值得注意的是資料庫的資料沒有任何排序的情形,無法預期傳回的資料是依何方式排序的第一筆資料。若需要特定順序的第一筆資料,則需讀回全部的資料到陣列中,再使用 PHP 的排序函式排序方可取得所需值。

 

--------------------------------------------------------------------------------
 函式:dbmnextkey() 
--------------------------------------------------------------------------------
 


dbm 類資料庫函式庫


dbmnextkey
取回下筆鍵值。

語法: string dbmnextkey(int handle, string key);

傳回值: 字串

函式種類: 資料庫功能


 
 
內容說明 


本函式取得資料庫的下一筆鍵值 (key)。參數 handle 為開啟資料庫時所傳回來的代號 ID。傳回值即為鍵值。


 
 
使用范例 


// 之前已經開啟 DBM 資料庫。
$key = dbmfirstkey($dbm_id);
while ($key) {
    echo "$key = " . dbmfetch($dbm_id, $key) . "\n";
    $key = dbmnextkey($dbm_id, $key);
}
?> 
 

--------------------------------------------------------------------------------
 函式:dblist() 
--------------------------------------------------------------------------------
 


dbm 類資料庫函式庫


dblist
取得 DBM 的資訊。

語法: string dblist(void);

傳回值: 字串

函式種類: 資料庫功能


 
 
內容說明 


本函式取得 DBM 資料庫函式館的相關資訊。本函式不需輸入參數,傳回值為資訊字串。 (http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
PHP4手冊:函數庫及函數(四十六) SNMP 網管函式庫 (2001-04-18 16:56:55)
PHP4手冊:函數庫及函數(四十五) Solid 資料庫連結函式庫 (2001-04-18 16:54:16)
PHP4手冊:函數庫及函數(四十四) 信號與共享記憶體函式庫 (2001-04-18 16:49:09)
PHP4手冊:函數庫及函數(四十三) 常規表示法函式庫 (2001-04-18 16:40:33)
PHP4手冊:函數庫及函數(四十二) URL 處理函式庫 (2001-04-18 16:37:13)
PHP4手冊:函數庫及函數(四十一) PostgreSQL 資料庫函式庫 (2001-04-18 15:58:12)
PHP4手冊:函數庫及函數(四十) PDF 格式檔案函式庫 - 2 (2001-04-18 15:53:53)
PHP4手冊:函數庫及函數(四十) PDF 格式檔案函式庫 - 1 (2001-04-18 15:53:35)
PHP4手冊:函數庫及函數(三十九) Perl 相容語法函式庫 (2001-04-18 15:45:08)
PHP4手冊:函數庫及函數(三十八) Oracle 資料庫函式庫 (2001-04-18 15:43:09)

===更多相關===
 

★  樊強制作 歡迎分享  ★