以前總是在水區混啊!沒有發表什麼文章!這次把自己以前寫得文章給大家曬!呵呵老鳥不要看了!
ADODB 是Active Data Objects Data Base 的簡稱,它是PHP存取資料庫的中間函數元件。
使用ADODB 最大的優點之一是:不管後端資料庫如何,存取資料庫的方式都是一致的,開發設計人員不必為了某一套資料庫,而必須再學習另一套不同的存取方法,這大大減輕開發人員的知識負擔,過去的知識往後仍可繼續使用,轉移資料庫平台時,程式碼也不必做太大的更動。
這些是以前學習總結的一些例子!
複製PHP內容到剪貼簿
PHP程式碼:
<?php
include_once("libs/adodb/adodb.inc.php"); //包含adodb的檔案
$db = NewADOConnection("mysql"); //建立哪個資料庫的物件
$db->Connect("localhost", "root ", "root", "mysql") or die("Unable to connect!"); //連結資料庫
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC; //給全域變數賦值,表示下面可以弄關聯數組(我的語言不怎麼樣)
$query = "SELECT * FROM user";
$result = $db->Execute($query) or die("Error in query: $query. " . $db->ErrorMsg());//(Execute執行SQL)
while (!$result->EOF) {
echo $result->fields['use'] . " - " . $result->fields['pass'] . "n";
$result->MoveNext();//movenext()陣列向下移。
}//fields表示字段數組
echo "n[" . $result->RecordCount() . " 行記錄被返回]n";
$db->Close();//關閉鏈接
?>
這個範例是ADODB最簡單的資料庫操作!或者大家可以寫個類別來操作啊!
在adodb中提供3個函數,GetAll,GetOne,GetRow.
GetAll其實相當於execute,但回傳是2維數組。可以和SMARTY很好的操作。
GetOne,GetRow.是判讀資料庫的某個資料是否存在!
在ADODB中提供了SelectLimit這個函數!
因為在轉移資料庫的時候可能有些SQL語句不支援! ADODB用selectlimit來在底層幫我們實作!
例如:
$query = "SELECT * FROM library";
$result = $db->SelectLimit($query, 5, 3);
還有一點是ADODB有快取機制。
提供了CacheExecute這個。呵呵看下例子吧!
PHP程式碼:
<?php
include("../libs/adodb/adodb.inc.php");
//設定快取儲存的路徑,.表示目前目錄
$ADODB_CACHE_DIR = 'tmp';
// 建立一個mysql連線實例對象
$db = NewADOConnection("mysql");
// 開啟一個資料庫連接
$db->Connect("localhost", "root", "root", "adodb") or die("不能連接");
// 建構並執行一個查詢
$query = "SELECT * FROM user";
$result = $db->CacheExecute(300,$query) or die("SQL錯誤: $query. " . $db->ErrorMsg());//CacheExecute(300,$query)這個方法是300,表示快取存在的時間。
// 遍歷傳回的記錄集,顯示列資料的內容TITLE 和AUTHOR
while (!$result->EOF) {
echo $result->fields[1] . " - " . $result->fields[2] . "n";
$result->MoveNext();
}
// 取得並顯示傳回的記錄行數
echo "n[" . $result->RecordCount() . " 行記錄被傳回]n";
// 關閉資料庫連接
$db->Close();
?>
我覺得最爽的還是有轉換方法! rs2html();
PHP程式碼:
<html>
<head></head>
<body>
<?php
include_once('../libs/adodb/adodb.inc.php');
include_once("../libs/adodb/tohtml.inc.php");
// 建立一個mysql連線實例對象
$db = NewADOConnection("mysql");
// 開啟一個資料庫連接
$db->Connect("localhost", "root", "root", "user") or die("資料庫連線錯誤");
// 建構並執行一個查詢
$query = "SELECT * FROM library";
$result = $db->Execute($query) or die("SQL錯誤: $query. " . $db->ErrorMsg());
// 傳回一個HTML格式的表格
echo rs2html($result);//回傳資料在表格裡面自己看吧!
// 關閉資料庫連接
$db->Close();
?>
</body>
</html>
下面介紹幾個常用的方法吧!
RecordCount() 取得並顯示傳回的記錄行數
FieldCount() 取得並顯示傳回的字段數
Insert_ID() 顯示最好插入的ID
Affected_Rows() 顯示執行完SQL後的被影響的行數
GetMenu() 產生下拉式選單!
好了只總結這麼多!其實還有很多知識!
還有很多不足!希望老鳥不要笑!
下次再給大家做補充吧!