Microsoft SQL Server 是非常常見的資料庫系統,
許多公司的系統都是用 MS SQL 來建置,但 PHP 並沒有預設支援 MS SQL,我仍需要安裝一些程式來讓 PHP 支援 MS SQL。
下載 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 上的檔名不同,但它的內容是相同的。
同樣在 Microsoft Learn 網站上下載 MSSQL ODBC driver
這可以抓到一個 msodbcsql.msi 安裝檔
直接安裝它(要用系統管理員權限打開安裝,不然無法安裝!)~
打開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)
<?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)){
.....
}
}
?>