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