2012-03-09 185 views
0

我在我的電腦上安裝了sql server 2008,並嘗試從php代碼連接到它。我無法從php連接到ms sql服務器

$server = "127.0.0.1:1433\MSSQLSERVER"; 
mssql_connect($server, 'sa', '123456'); 

並面臨此錯誤。

無法連接到服務器:127.0.0.1:1433\MSSQLSERVER

請幫助我。

+0

如果您使用的是Windows,請打開命令提示符並使用'netstat'來確保SQL服務器實際上正在偵聽端口1433. 不幸的是,「無法連接」錯誤消息是非常通用的,可以是造成了很多事情。 – 2012-03-09 19:37:22

+0

1433位於**'HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \ MSSQLSERVER \ MSSQLSERVER \ SUPERSOCKETNETLIB \ TCP **中,但不在netstat中 – Ehsan 2012-03-09 19:40:28

+0

您是否可以使用管理工作室進行連接? – AlexC 2012-03-09 19:42:09

回答

1

您是否使用命名實例MSSQLSERVER? SQLExpress默認使用命名實例MSSQLSERVER。 SQL Server不這樣做,它的默認是不使用命名實例。

SQL中的默認數據庫將在端口1433上運行,除非您在設置時另行指定。默認情況下,如果您沒有指定並嘗試連接它,大多數應用程序會認爲這是端口。命名實例的目的是每個數據庫實例都在其自己的端口上運行,因此如果指定了一個實例,則在1433上運行的默認實例將以「沒有傢伙想要的數據庫在此端口上運行」進行響應。

你剛剛嘗試過127.0.0.1:1433嗎?

[更新]

上次我打了PHP和SQL Server我用odbc_connect而不是mssql_connect和我的設置與連接參數的DSN條目。這是我使用的代碼。

$dsn="MyDatabase"; 
$username="phpUser"; 
$password="whatever"; 

$sqlconnect=odbc_connect($dsn, $username, $password); 

$sqlquery="SELECT * FROM Sample;"; 

$results= odbc_exec($sqlconnect,$sqlquery); 

[UPDATE2]

微軟發佈Microsoft Drivers for PHP for SQL Server,有一個new way連接MSSQL。

+0

我誤讀了帖子,MyltchyChin可能是正確的。我已經刪除了我的答案。 – AlexC 2012-03-09 19:52:00

+0

是的。它不是sqlexpress,我可以上傳它的截圖 – Ehsan 2012-03-09 19:59:00