2012-03-09 89 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