将php与sqlserver

时间:2015-05-28 15:29:31

标签: php sql-server sql-server-express php-5.5

这是我第一次将php与SQL Server集成。上下文中的SQL Server位于同一LAN上的另一台物理计算机上。我使用下面介绍的配置:

  • php :版本5.5
  • SQL Server :2005 Express
  • php驱动程序:sqlsrv 3.2
  • 线程安全:已禁用

我正面临以下错误:

  

无法建立连接。
数组([0] =>数组([0] =>   IMSSP [SQLSTATE] => IMSSP [1] => -49 [code] => -49 [2] =>这个   扩展需要Microsoft SQL Server 2012 Native Client。访问   以下URL下载Microsoft SQL Server 2012 Native   x86的客户端ODBC驱动程序:   http://go.microsoft.com/fwlink/?LinkId=163712 [message] =>这个   扩展需要Microsoft SQL Server 2012 Native Client。访问   以下URL下载Microsoft SQL Server 2012 Native   x86的客户端ODBC驱动程序:   http://go.microsoft.com/fwlink/?LinkId=163712)[1] =>数组([0] =>   IM002 [SQLSTATE] => IM002 [1] => 0 [code] => 0 [2] => [微软] [ODBC   驱动程序管理器]未找到数据源名称且没有默认驱动程序   指定[message] => [Microsoft] [ODBC驱动程序管理器]数据源   未找到名称且未指定默认驱动程序))。

使用的代码如下:

<?php
$serverName = "TESTSERV\SQLEXPRESS"; //serverName\instanceName
$connectionInfo = array( "Database"=>"dbname", "UID"=>"username", "PWD"=>"password");
$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));
}
?>

有人可以指导我在这里需要做什么才能成功连接到数据库吗?

1 个答案:

答案 0 :(得分:2)

用于PHP的Microsoft SQL Server驱动程序需要安装Microsoft SQL Server 2012 Native Client,因为您可以在错误消息中阅读。只下载扩展dll是不够的。您可以通过官方System Requirements (Microsoft Drivers for PHP for SQL Server)了解更多信息。

  

版本3.2和3.1要求SQL Server使用Microsoft ODBC Driver 11(或更高版本)。要下载适用于SQL Server的PHP的Microsoft ODBC驱动程序11,请参阅SQL Server的Microsoft ODBC驱动程序11。

     

如果您使用的是SQLSRV驱动程序,sqlsrv_client_info将返回有关哪些版本的SQL Server Native Client正由Microsoft驱动程序用于PHP for SQL Server的信息。如果您使用的是PDO_SQLSRV驱动程序,则可以使用PDO :: getAttribute来发现版本。

https://www.microsoft.com/en-us/download/details.aspx?id=36434

下载,安装并尝试刷新测试页。