Microsoft SQL Server 是非常常見的資料庫系統,
許多公司的系統都是用 MS SQL 來建置,
但 PHP 並沒有預設支援 MS SQL,我仍需要安裝一些程式來讓 PHP 支援 MS SQL。
1.下載 Microsoft Drivers for PHP for SQL Server
下載 SQL Server Drivers for PHP

到微軟 Learn 網站下載 SQL Server Driver for PHP

這裡可以下載到一個名為 SQLSRV512.ZIP 的壓縮檔


解壓縮後可以得到許多 *.dll 檔
將下載回來的 SQLSRV512.ZIP 解壓縮後,再 *.dll 檔複製到 D:\xampp\php\ext
(依你安裝的PHP路徑而定)

同樣到 https://github.com/Microsoft/msphpsql/releases 也可以抓到
5.12.0 for PHP Driver for SQL Server


在 github.com 上的檔名不同,但它的內容是相同的。
2.下載 MSSQL ODBC driver
同樣在 Microsoft Learn 網站上下載 MSSQL ODBC driver


這可以抓到一個 msodbcsql.msi 安裝檔

直接安裝它(要用系統管理員權限打開安裝,不然無法安裝!)~
3.設定 PHP.ini
打開PHP設定檔 PHP.ini,找到 MSSQL server 那段
修改成下列:
;; MSSQL server
;extension=php_sqlsrv_82_ts.dll
extension=php_sqlsrv_82_ts_x64
;extension=php_pdo.dll
extension=php_pdo_sqlsrv_82_ts_x64
(依安裝的 PHP 版本而定,我安裝的是 PHP 8.2.12 x64版故設定 82_ts_x64)
4.PHP程式宣告的部分
<?php // 連線 MSSQL & POST/GET 參數讀取
$serverName = "xxx.xxx.xxx.xxx,6060"; // MSSQL Server 位置
$connectionInfo = array("DataBase"=>"FACLDB","UID"=>"xxx","PWD"=>"xxxxxxxx");
$conn = sqlsrv_connect($serverName,$connectionInfo);
if($conn){
$sql = "SELECT [EFAC_fab] From [FACLDB].[dbo].[NEW_OEE_Table] GROUP By [EFAC_fab]";
$result=sqlsrv_query($conn,$sql)or die("sql error".sqlsrv_errors());
while($row=sqlsrv_fetch_array($result)){
.....
}
}
?>