封裝原生 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() 等函數。mysqli 面向對象介面,支援預處理語句防 SQL 注入。PDO,支援多種數據庫驅動,統一 API。query()、fetchAll()、execute() 等封裝方法,隱藏底層細節。雖然 mysql_* 已棄用,但理解其封裝思想有助於掌握現代數據庫抽象層的設計精髓。