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

PHP 簡易 MySQL 數據庫操作類:連線、字符集、自動關閉

     編輯:PHP 相關知識

PHP 簡易 MySQL 數據庫操作類:連線、字符集、自動關閉

封裝原生 mysql_* 函數(注意:PHP 7.0+ 已移除,建議改用 mysqli 或 PDO),實現構造函數自動連線、設置字符集、選擇數據庫,析構函數自動關閉連線的輕量級資料庫操作類。

完整代碼

<?php
class MySQLDB {
    private $server;
    private $username;
    private $password;
    public $default_db;
    public $link;

    public function __construct($server, $username, $password, $default_db) {
        $this->server = $server;
        $this->username = $username;
        $this->password = $password;
        $this->default_db = $default_db;

        // 連接數據庫
        $this->link = mysql_connect($this->server, $this->username, $this->password);
        if (!$this->link) {
            die('Database connect failure!');
        }

        // 選擇默認數據庫
        $bool = mysql_select_db($this->default_db, $this->link);
        if (!$bool) {
            die('Select default_db failure!');
        }

        // 設置連接字符集(建議)
        mysql_set_charset('utf8', $this->link);
    }

    public function __destruct() {
        if ($this->link) {
            mysql_close($this->link);
        }
    }
}
// 使用示例
$db = new MySQLDB('localhost', 'root', 'password', 'mydb');
?>

核心功能點

  • 構造函數:一次性完成連線、選庫、字符集設置。
  • 析構函數:確保腳本結束時自動釋放連線資源。
  • 公開屬性 $link:供外部直接調用 mysql_query() 等函數。

現代化改造建議

  1. 改用 mysqli 面向對象介面,支援預處理語句防 SQL 注入。
  2. 或採用 PDO,支援多種數據庫驅動,統一 API。
  3. 引入連線池(如 Swoole 協程池)提升高併發性能。
  4. 實現 query()、fetchAll()、execute() 等封裝方法,隱藏底層細節。

雖然 mysql_* 已棄用,但理解其封裝思想有助於掌握現代數據庫抽象層的設計精髓。

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