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

PHP 資料庫操作類完整實作指南

     編輯:PHP 相關知識

前言

在早期 PHP 開發中,由於缺乏統一的資料庫抽象層,開發者往往需要自行封裝資料庫操作類別。本文介紹一個功能相對完整的 MySQL 操作類別,涵蓋連線管理、查詢執行、錯誤處理等核心功能,適合作為學習 PHP 面向對象資料庫封裝的參考範例。

類別架構設計

該類別採用私有屬性封裝資料庫連線參數,包含主機位址、使用者帳號、密碼、資料庫名稱、連線識別碼、查詢結果資源、SQL 語句、資料表前綴與字元編碼等核心屬性。建構子負責初始化這些參數並自動建立連線。

<?php
class mysql {
    private $db_host;
    private $db_user;
    private $db_password;
    private $db_table;
    private $db_conn;  // 資料庫連線識別碼
    private $result;   // query 執行結果資源
    private $sql;      // SQL 執行語句
    private $pre;      // 資料表前綴
    private $coding;   // 資料庫編碼:GBK、UTF8、gb2312

    function __construct($db_host, $db_user, $db_password, $db_table, $db_conn, $pre, $coding) {
        $this->db_host   = $db_host;
        $this->db_user   = $db_user;
        $this->db_password = $db_password;
        $this->db_table  = $db_table;
        $this->db_conn   = $db_conn;
        $this->pre       = $pre;
        $this->coding    = $coding;
        $this->connect();
    }

連線與錯誤處理機制

connect() 方法使用 mysql_connect() 建立連線,並在失敗時透過 show_error() 輸出錯誤訊息。選擇資料庫時若找不到指定資料表,會輸出提示訊息。值得注意的是,此程式碼使用了已棄用的 mysql_* 函數族,現代專案建議改用 PDO 或 MySQLi。

function connect() {
    $this->db_conn = @mysql_connect($this->db_host, $this->db_user, $this->db_password)
        or die($this->show_error("資料庫連線錯誤,請檢查資料庫連線配置!"));
    
    if (!mysql_select_db($this->db_table, $this->db_conn)) {
        echo "沒有找到資料表:" . $this->db_table;
    }
    mysql_select_db($this->db_table, $this->db_conn);
    // 設定字元編碼...
}

現代化改進建議

  • 改用 PDO:支援多種資料庫、預處理語句防止 SQL 注入
  • 加入連線池:減少頻繁建立連線的開銷
  • 實作介面介面:符合 PSR 規範,便於依賴注入
  • 加入查詢建構器:提供流暢介面建構複雜查詢

總結

雖然此類別展示了早期 PHP 物件導向封裝的基本概念,但隨著 PHP 版本演進,mysql_* 函數已於 PHP 7.0 移除。現代開發應採用 PDO 或 MySQLi,並結合設計模式(如 Repository、Active Record)建構更健壯的資料存取層。

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