首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

PHP MySQL 資料庫操作類(ADO 風格封裝)完整原始碼與使用指南

     編輯:MySQL 資料庫相關知識

類別特色

  • 模仿 ASP ADO 介面設計,熟悉 ASP 的開發者零學習曲線。
  • 完整封裝連線、查詢、新增、編輯、刪除、交易控制。
  • 支援欄位名稱與索引雙重存取、錯誤代碼追蹤、記錄集導航。

核心屬性

var $host = "localhost";
var $user = "root";
var $password = "";
var $linkid;      // 連線資源
var $dbid;        // 選擇資料庫結果
var $sTName;      // 目前操作表名
var $sErr;        // 錯誤訊息
var $nErr;        // 0=正常 1=錯誤
var $nResult;     // 查詢結果資源
var $aFName;      // 欄位名稱陣列
var $nRows;       // 筆數
var $nCols;       // 欄位數
var $aNew;        // 新增資料暫存
var $NewEdit;     // 0=無 1=新增 2=編輯
var $sEditCon;    // 編輯條件
var $nOffset;     // 記錄指標
var $EOF;         // 是否到達末尾
var $sSQL;        // 最後執行 SQL

關鍵方法速覽

方法用途
MySQLDB($table, $db)建構子,連線並選擇資料庫
Query($sql, $table)執行 SELECT,填充記錄集
GetValue($field)取得當前記錄指定欄位值(名稱或索引)
MoveNext() / MovePrev() / MoveFirst() / MoveLast()記錄集導航
AddNew()進入新增模式
SetValue($field, $value)設定新增/編輯模式下的欄位值
Update()提交新增或編輯
Edit($condition)進入編輯模式,指定 WHERE 條件
Delete($condition)刪除符合條件記錄
PrintErr()輸出錯誤訊息
Destroy()關閉連線、提交交易

使用範例

<?php
require_once 'MySQLDB.class.php';

$db = new MySQLDB("products", "shop");

// 查詢
$db->Query("SELECT id, name, price FROM products WHERE price > 100 ORDER BY price DESC");
while (!$db->EOF) {
    echo $db->GetValue("name") . " - $" . $db->GetValue("price") . "<br>";
    $db->MoveNext();
}

// 新增
$db->AddNew();
$db->SetValue("name", "New Product");
$db->SetValue("price", 299);
$db->SetValue("stock", 50);
$db->Update();

// 編輯
$db->Edit("id = 5");
$db->SetValue("price", 249);
$db->Update();

// 刪除
$db->Delete("id = 10 AND stock = 0");

$db->Destroy();
?>

遷移建議

原碼基於已移除的 mysql_* 函數(PHP 7.0+ 不支援)。現代專案建議:

  1. 改用 mysqli 或 PDO 重寫同介面類別。
  2. 或直接採用成熟 ORM(Laravel Eloquent、Doctrine、Yii ActiveRecord)。
  3. 保留 ADO 風格介面可降低遷移成本,但內部務必使用預處理語句防 SQL 注入。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved