2013-04-11 148 views
0

我試圖將php script連接到Microsoft SQL Server,此外我正在自己做一些測試以瞭解有關php和服務器的更多信息。未能連接到Microsoft SQL服務器

if(function_exists("sqlsrv_connect")) 
{ 
    echo "exists<br/>"; 
}else 
{ 
    die("does not exist<br/>"); 
} 
$serverName = "myTestServer"; 
$connectionInfo = array("Database"=>"test_name", "UID"=>"testUser", "PWD"=>"testPwd"); 
$conn = sqlsrv_connect($serverName, $connectionInfo); 
if($conn) 
{ 
    echo "sucessful"; 
} 
else 
{ 
    echo "failed "; 
} 

的輸出是:

exists 
failed 

因此,我可以看到,.dll已安裝爲目的。我錯過了別的嗎?或者這可能是服務器屬性中的問題?

+1

檢查[手冊](http://php.net/manual/en/function.sqlsrv-connect.php)以查看如何正確顯示完整的錯誤信息 - 第一個示例顯示如何使用[ sqlsrv_errors()](http://php.net/manual/en/function.sqlsrv-errors.php)。 – 2013-04-11 09:00:38

+0

謝謝!這個錯誤是否說我需要在本地PC上安裝一個sql server客戶端程序來連接?因爲我試圖連接到安裝了sql server的另一臺pc,但我不... Array([0] => Array([0] => IMSSP [SQLSTATE] => IMSSP [1] = > -49 [code] => -49 [2] =>此擴展需要Microsoft SQL Server 2008 Native Client(SP1或更高版本)或Microsoft SQL Server 2008 R2 Native Client ODBC驅動程序與SQL Server進行通信。這些ODBC驅動程序當前已安裝,請訪問以下URL以下載Microsoft SQL Server 2008 R2 [...] – Fabiotocchi 2013-04-11 09:21:31

+0

是的,您需要在任何運行PHP代碼的計算機上安裝受支持的SQL Server ODBC驅動程序。從SQL Server本身單獨安裝ODBC驅動程序(和客戶端實用程序,如果需要的話,但它們不需要進行PHP連接) – 2013-04-11 09:29:23

回答

1

每當SQLSRV PHP函數發生故障時,請致電sqlsrv_errors找出根本原因。就你而言,你似乎沒有在PHP服務器上安裝正確的SQL Server ODBC驅動程序。根據錯誤消息建議安裝驅動程序,並且應該改進。

+0

解決!謝謝! – Fabiotocchi 2013-04-11 09:57:28