以前總是在水區混啊!沒有發表什麼文章!這次把自己以前寫得文章給大家曬曬!呵呵老鳥不要看了!
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] . "
";
$result->MoveNext();//movenext()數組向下移。
}//fields表示字段數組
echo " [" . $result->RecordCount() . " 行記錄被返回] ";
$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] . "
";
$result->MoveNext();
}
// 取得和顯示返回的記錄行數
echo "
[" . $result->RecordCount() . " 行記錄被返回]
";
// 關閉數據庫連接
$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() 生成下拉菜單!
好了只總結這麼多啊!其實還有很多知識!
還有很多不足!希望老鳥不要笑話啊!
下次再給大家做補充吧!