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

PHP 透過 ODBC 連接 MySQL 資料庫完整範例

     編輯:PHP 相關知識

雖然原生 MySQLi/PDO 是首選,但某些舊系統或異構環境需透過 ODBC 連接 MySQL。本文提供完整可執行的 PHP + ODBC + MySQL 範例,涵蓋 DSN 字串組裝、連線、查詢、結果輸出與關閉連線。

前置需求

  • MySQL ODBC Driver 已安裝於作業系統(Windows 需 myodbc5.dll,Linux 需 libmyodbc.so)。
  • 系統 ODBC 管理員已建立系統 DSN,或使用無 DSN 連線字串。

完整程式碼

<?php
$conn = odbc_connect(
    "DRIVER={MySQL ODBC 3.51 Driver};Server=localhost;Database=phpodbcdb",
    "username", "password"
);
if (!$conn) {
    echo "<p>ODBC 連線失敗: " . odbc_errormsg($conn) . "</p>\n";
    exit;
}

$sql = "SELECT 1 as test";
$rs = odbc_exec($conn, $sql);
echo "<table><tr><th>Test</th></tr>";
while (odbc_fetch_row($rs)) {
    $result = odbc_result($rs, "test");
    echo "<tr><td>$result</td></tr>";
}
odbc_close($conn);
echo "</table>";
?>

關鍵函數說明

  • odbc_connect(dsn, user, pass):建立連線,回傳資源控制代碼。
  • odbc_exec(conn, sql):執行 SQL,回傳結果集資源。
  • odbc_fetch_row(rs):游標前進,逐列讀取。
  • odbc_result(rs, field):取得指定欄位值。
  • odbc_errormsg(conn):取得最後錯誤訊息。

常見問題排查

  1. 驅動名稱不符:檢查 ODBC 管理員實際驅動名稱(如 MySQL ODBC 8.0 Unicode Driver),DSN 字串需完全一致。
  2. 架構不匹配:32 位元 PHP 需 32 位元驅動,64 位元同理。
  3. 防火牆/權限:MySQL bind-address、grant 主機允許清單。

新專案請優先使用 PDO_MySQL 或 MySQLi,效能更好且功能完整。

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