ADODB (Active Data Objects DataBase) 是 PHP 經典資料庫抽象庫,支援 MySQL、PostgreSQL、Oracle、MSSQL、Access、DB2 等多種資料庫,統一 API 降低遷移成本。本文整理連線配置、核心操作與進階功能範例。
include_once("adodb5/adodb.inc.php");
$db = NewADOConnection('mysql');
$db->Connect('localhost', 'root', 'root', 'test') or die("Connection failed");
$conn = NewADOConnection('access');
$conn->Connect("test.mdb") or die("Error");
$conn = NewADOConnection('postgres');
$conn->Connect('localhost', 'root', 'pass', 'mydb');
$conn = NewADOConnection('db2');
$conn->Connect("driver={IBM db2 odbc DRIVER};database=mydb;hostname=localhost;port=50000;protocol=TCPIP;uid=root;pwd=pass");
$db = NewADOConnection('mysql');
$db->Connect("localhost", "root", "", "db");
$db->Execute("SET NAMES 'GBK'");
$rs = $db->Execute("SELECT * FROM up_admin_user");
while ($row = $rs->FetchRow()) {
print_r($row);
}
$arr = array('m_id' => '2', 'password' => '333333');
$db->AutoExecute("up_admin_user", $arr, "INSERT");
$rs = $db->Execute($sql);
while ($obj = $rs->FetchNextObject()) {
echo $obj->NAME;
}
include_once("adodb5/tohtml.inc.php");
$rs = $db->Execute($sql);
echo rs2html($rs);
include_once("adodb5/adodb-pager.inc.php");
session_start();
$pager = new ADODB_Pager($db, $sql);
$pager->Render(2); // 每頁 2 筆
$db = NewADOConnection('mysql://root:@localhost/upload');
$db->SetFetchMode(ADODB_FETCH_ASSOC);
$rs = $db->Execute("SELECT * FROM pic");
print_r($rs->fields);
ADODB 適合維護舊專案或需快速支援多種老舊資料庫 (Access、DB2) 的情境。