在早期 PHP 開發中,建立一個可重複使用的 MySQL 資料庫連線類是基礎也是關鍵。本文將詳細解析一個經典的資料庫連線類結構,包含連線驗證、錯誤處理、查詢執行與結果處理等核心功能,幫助開發者理解底層運作機制。
該類別主要包含三大核心模組:
mysql_connect 與 mysql_select_db 建立連線,並設定字元集為 GBKdbQuery 執行 SQL、dbArray 取得關聯陣列、queryBot 簡化 INSERT/UPDATE 操作// 參數驗證範例
if (empty($dbhost)) {
$error = "<li>資料庫主機名為空</li>";
}
// 連線建立
if (!$connect = @mysql_connect($dbhost, $dbuser, $dbpass)) {
$error = "<li>無法連接上資料庫主機</li><li>MySQL錯誤:" . mysql_error() . "</li>";
showErrorMessage("1", "資料庫連接失敗", $error); exit;
}
mysql_query("set names 'gbk'");
dbQuery 函數支援除錯模式,可輸出 SQL 語句與影響行數;queryBot 則透過陣列參數自動組裝 INSERT 或 UPDATE 語句,減少手寫 SQL 的錯誤機率。
注意:mysql_* 函數已於 PHP 7.0 移除。新專案建議改用 PDO 或 mysqli,並採用預處理語句防止 SQL 注入。若維護舊專案,可參考本架構設計對應的 PDO 封裝類。
showErrorMessage 輸出格式化錯誤,避免直接 die() 導致頁面中斷SET NAMES,確保中文資料正確儲存與讀取mysql_free_result 釋放記憶體掌握這類底層封裝邏輯,不僅有助於維護舊系統,更能深入理解現代 ORM 與資料庫抽象層的設計哲學。