ADOdb 是 PHP 知名的資料庫抽象層庫,支援多種資料庫,包含 Microsoft SQL Server。本文提供一個可直接執行的完整範例,展示如何透過 ODBC 驅動連接 MSSQL 並執行參數化查詢。
composer require adodb/adodb-php)SQL Server Native Client 或 ODBC Driver for SQL Serverphp_pdo_odbc 或 php_odbc 擴充<?php
require_once 'adodb/adodb.inc.php'; // 或 vendor/autoload.php
$conn = ADONewConnection('odbc_mssql');
$dsn = "Driver={ODBC Driver 17 for SQL Server};Server=localhost;Database=yuyan;";
$conn->PConnect($dsn, 'username', 'password');
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
$sql = "SELECT * FROM yuyan WHERE nno = ?";
$rst = $conn->Execute($sql, array('005')) or die($conn->ErrorMsg());
while (!$rst->EOF) {
echo $rst->fields['nname'] . ' - ' . $rst->fields['nno'] . "<br>";
$rst->MoveNext();
}
$rst->Close();
$conn->Close();
?>
Execute($sql, $params) 自動處理跳脫,防止 SQL Injection。PConnect 使用持久連線,適合高頻存取;Connect 則為一般連線。ErrorMsg() 可取得詳細錯誤資訊,建議搭配 try-catch 或自訂錯誤處理器。CharacterSet=UTF-8,且資料庫欄位使用 NVARCHAR。db_datareader / db_datawriter 角色。採用 ADOdb 可讓程式碼更具可攜性,未來若遷移資料庫僅需更換驅動名稱即可。