首頁 >後端開發 >PHP問題 >php無法連結mssql怎麼辦

php無法連結mssql怎麼辦

藏色散人
藏色散人原創
2021-07-19 10:29:052311瀏覽

php無法連接mssql的解決方法:1、修改驗證模式;2、修改並確定帳號密碼;3、開啟帳號存取資料庫的權限。

php無法連結mssql怎麼辦

本文操作環境:windows7系統、PHP7.1版,DELL G3電腦

php無法連結mssql怎麼辦?

php通常跟mysql資料庫一起使用,但在開發一些企業應用程式時,由於企業原來的應用程式使用MSSQL,必須讓php連接SQL Server,

這也是一個大坑,以下講講使用php連線SQL Server失敗的3個常見原因…

在進行php連線mssql前,你需要先把sqlsrv這個擴充裝好,這也是一大堆坑。

php連線SQL Server程式碼如下

//$serverName = "localhost";
$serverName = "127.0.0.1";
$connectionInfo = array( "Database"=>"qinziheng", "UID"=>"sa", "PWD"=>"123456");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}

一、驗證模式不對

SQL Server有兩種驗證模式,

1-1) windows驗證模式,

即使用windows系統中的帳號或網域帳號。

1-2) SQL Server 驗證模式有的也叫SQL Server與Windows驗證模式

#使用SQL Server資料庫建立的帳號,

建議使用第2種SQL Server驗證模式。

二、 帳號密碼不對

在php連接msql資料庫時,涉及到windows系統帳號,網域帳號和SQL Server資料庫帳號,

這麼多帳號,對第一次連結的朋友來說,不知道該選擇哪一種。

我們自己使用php開發mssql資料庫時,使用 1-2 中的SQL Server認證模式,是使用SQL Server資料庫帳號連線成功的,網域帳號連線失敗。

windows系統帳號 和 SQL Server資料庫帳號 的關係,就像linux中,linux系統帳號 和 mysql資料庫帳號 的關係,你不能用 linux 中的 www 用戶,登入連接mysql資料庫。

三、未授權存取資料庫

雖然你的帳號密碼是對的,但是php連線mssql還是失敗,原因是你的帳號沒有存取資料庫的權限,這時需要在SSMS (sql server management studio)中,對使用者進行授權,或把使用者加入對應的安全群組。

還有一個可能出錯原因

上面3個原因是開發中常遇到的,如果你的php跟SQL Server安裝在不同一台主機上,還有一種可能,就是SQL Server未允許遠端連線和存取。

推薦學習:《PHP影片教學

以上是php無法連結mssql怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn