首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 資料庫抽象層 ADODB 完整配置與實戰範例集錦

     編輯:PHP 綜合知識

ADODB (Active Data Objects DataBase) 是 PHP 經典資料庫抽象庫,支援 MySQL、PostgreSQL、Oracle、MSSQL、Access、DB2 等多種資料庫,統一 API 降低遷移成本。本文整理連線配置、核心操作與進階功能範例。

核心特點

  • 統一各資料庫連線與操作介面
  • 提升開發效率,資料庫遷移只需修改連線字串
  • 內建豐富輔助函式 (分頁、HTML 輸出、快取等)
  • 嚴格大小寫區分,需注意類別與方法命名

常見資料庫連線範例

MySQL

include_once("adodb5/adodb.inc.php");
$db = NewADOConnection('mysql');
$db->Connect('localhost', 'root', 'root', 'test') or die("Connection failed");

Access (ODBC)

$conn = NewADOConnection('access');
$conn->Connect("test.mdb") or die("Error");

PostgreSQL

$conn = NewADOConnection('postgres');
$conn->Connect('localhost', 'root', 'pass', 'mydb');

DB2

$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;
}

直接輸出 HTML 表格

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 筆

進階連線方式

DSN 字串連線

$db = NewADOConnection('mysql://root:@localhost/upload');
$db->SetFetchMode(ADODB_FETCH_ASSOC);
$rs = $db->Execute("SELECT * FROM pic");
print_r($rs->fields);

現代替代方案建議

  • PDO:PHP 內建、效能較好、無額外依賴、支援預備語句。
  • Doctrine DBAL:功能更強大、支援 Schema 管理、查詢建構器、型別對應。
  • Eloquent / Laravel Database:若使用 Laravel 框架,內建 ORM 體驗最佳。

ADODB 適合維護舊專案或需快速支援多種老舊資料庫 (Access、DB2) 的情境。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved