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

PHP 操作 MySQL 函數大全:連接、查詢、獲取數據、事務、資訊獲取與 Access 互操作

     編輯:PHP 綜合知識

1. 連接管理

函數說明關鍵點
mysql_connect()建立非持久連接參數:host:port、user、pass;返回連接標識;失敗可用 @ 抑制錯誤配合 die()
mysql_pconnect()持久連接(連接池)不需 mysql_close();高併發慎用(連接數耗盡風險)
mysql_close()關閉連接非必須(請求結束自動回收);可指定 link_id

2. 選擇數據庫

mysql_select_db('db_name', $link);

3. 執行查詢

  • mysql_query($sql, $link):通用執行,返回結果集資源(SELECT)或布爾值(INSERT/UPDATE/DELETE)。
  • mysql_db_query($db, $sql, $link):等同 select_db + query,已棄用。

4. 獲取結果集數據

函數返回類型特點
mysql_result($res, $row, $field)單值效率低,僅適合單值提取
mysql_fetch_row($res)數值索引陣列配合 list() 解包
mysql_fetch_array($res, $type)雙索引/關聯/両方$type: MYSQL_ASSOC/MYSQL_NUM/MYSQL_BOTH
mysql_fetch_assoc($res)關聯陣列等同 MYSQL_ASSOC
mysql_fetch_object($res)物件屬性名=欄位名

推薦寫法

while ($row = mysql_fetch_assoc($result)) {
    echo $row['name'] . ' - ' . $row['email'] . '
'; }

5. 記錄統計

  • mysql_num_rows($res):SELECT 返回行數。
  • mysql_affected_rows($link):INSERT/UPDATE/DELETE 影響行數。

6. 獲取庫/表資訊

  • mysql_list_dbs($link) + mysql_db_name($res, $i):列舉數據庫。
  • mysql_list_tables($db, $link) + mysql_tablename($res, $i):列舉表。

7. 事務處理(需 InnoDB)

mysql_query('BEGIN'); // 或 SET AUTOCOMMIT=0
try {
    mysql_query('INSERT ...');
    mysql_query('UPDATE ...');
    mysql_query('COMMIT');
} catch (Exception $e) {
    mysql_query('ROLLBACK');
}

注意:mysql_* 函數無原生事務函數,需直接執行 SQL。

8. PHP 操作 Access (COM)

<?php
$conn = new COM("ADODB.Connection") or die("Cannot start ADODB");
$conn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\path\\db.mdb");
$rs = $conn->Execute("SELECT * FROM manage");
$cols = $rs->Fields->Count();
while (!$rs->EOF) {
    for ($i=0; $i<$cols; $i++) {
        echo htmlspecialchars($rs->Fields($i)->value) . "\t";
    }
    echo "
"; $rs->MoveNext(); } $rs->Close(); $conn->Close(); ?>

需 Windows + 啟用 COM 擴展 + 安裝 Access 驅動。

重要提示

  • mysql_* 函數已在 PHP 7.0 移除,新項目請使用 mysqli 或 PDO。
  • 防 SQL 注入:使用預處理語句(mysqli/PDO)或 mysql_real_escape_string()(舊代碼維護)。
  • 字符集:連接後執行 mysql_query("SET NAMES utf8")(或 utf8mb4)。
  • 錯誤處理:開發環境啟用 error_reporting(E_ALL),生產環境記錄日誌而非顯示。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved