php连接sql server数据库库

时间:2021-08-20 01:31:34

首先查看自己的php版本,php 在5.3以后便不再支持对SQL Server 的连接,所以这时需要ms提供的第三方扩展

注:虽然php5.2提供的php_mssql.dll方法是可以连接到SQL Server 数据库的(这种连接就自己去查吧,网上还是比较多的),但是仅仅只是局限于SQL Server 2000。所以如果需要连接2005或者2008以上的版本,那么还是需要下载ms的扩展


ms扩展下载

https://msdn.microsoft.com/en-us/library/cc296170.aspx

          php连接sql server数据库库

下载时注意选择自己对应的php版本号(这个页面有说明

  php连接sql server数据库库

下载后安装释放程序(安装地址以php.ini中的extension_dir = 为准 ),里面一些类似如下的有以下文件:

php_pdo_sqlsrv_52_nts.dll 

php_pdo_sqlsrv_52_ts.dll(对应php 5.2.x版本线程安全)

php_sqlsrv_52_nts.dll

php_sqlsrv_52_ts.dll(对应php 5.2.x版本线程安全)

SQLServerDriverForPHP.chm(手册,英文够好的话,可以看看)

SQLServerDriverForPHP_License.rtf

SQLServerDriverForPHP_Readme.htm(自述文件

 

关于VC6和VC9的区别

      VC6 版本是使用 Visual Studio 6 编译器编译的,如果你是在windows下使用Apache+PHP的,请选择VC6版本。

     VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你是在windows下使用IIS+PHP的,请选择VC9版本。


 开始配置

1、在php.ini的Windows Extensions后面加上:

php连接sql server数据库库

extension=php_sqlsrv_53_ts.dll     (以你选择的文件名为准)

extension=php_pdo_sqlsrv_53_ts.dll    


2、再重启Apache服务。

最后测试一下是否成功,在PHP中执行phpinfo()的查看sqlsrv、看图画红线处、如图所示这样就表示连接成功了!!

php连接sql server数据库库


用以下代码可以用来测试连接是否成功

<?php

$serverName = "(localhost)";

$connectionInfo = array("Database"=>"test","ConnectionPooling"=>false);

$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn == false)

{

    echo "连接失败!";

   die( print_r( sqlsrv_errors(), true));

}

?>


一般情况下运行以后会 报错!

Connection could not be established. Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -49 [code] => -49 [2] => This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712 [message] => This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712 ) [1] => Array ( [0] => IM002 [SQLSTATE] => IM002 [1] => 0 [code] => 0 [2] => [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 [message] => [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 ) )

原因:缺少驱动

下载页面:https://msdn.microsoft.com/en-us/library/cc296170.aspx

在页面中这么一段话

php连接sql server数据库库

本人英语渣渣,大致的意思就是 

3.2或者3.1版本的需要下载Microsoft ODBC Driver 11 for SQL Server

3.0版本下载 SQL Server 2012 feature pack page.

2.0版本则需要按系统位数来下载:

Download the X86 package   

Download the X64 package


下载安装完成以后,ok程序就可以运行了。


最后吐槽下:php连接sql server简直就是坑爹啊,太麻烦了