更新於 2024/12/15閱讀時間約 4 分鐘

php 如何存取 MS SQL

Microsoft SQL Server 是非常常見的資料庫系統,

許多公司的系統都是用 MS SQL 來建置,

但 PHP 並沒有預設支援 MS SQL,

我仍需要安裝一些程式來讓 PHP 支援 MS SQL。



1.下載 Microsoft Drivers for PHP for SQL Server

前往網站 https://learn.microsoft.com/zh-tw/sql/connect/php/download-drivrs-php-sql-server?view=sql-server-ver16#download

下載 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

https://learn.microsoft.com/zh-tw/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver16

這可以抓到一個 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)){
.....
}
}
?>





分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.