雖然原生 MySQLi/PDO 是首選,但某些舊系統或異構環境需透過 ODBC 連接 MySQL。本文提供完整可執行的 PHP + ODBC + MySQL 範例,涵蓋 DSN 字串組裝、連線、查詢、結果輸出與關閉連線。
myodbc5.dll,Linux 需 libmyodbc.so)。<?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):取得最後錯誤訊息。MySQL ODBC 8.0 Unicode Driver),DSN 字串需完全一致。bind-address、grant 主機允許清單。新專案請優先使用 PDO_MySQL 或 MySQLi,效能更好且功能完整。