PHP 连接SQL2008实践

(本机系统是64位Win7,连接数据库是SQL Server 2008 R2)

我下的PHP的版本为  php-5.3-win32-vc9-x86

PHP连接不上2008要用到微软为PHP提供的最新第三方扩展SQL Server Driver for PHP才行。

http://www.microsoft.com/en-us/download/details.aspx?id=20098

可以微软官方这下载 :下载

下载驱动程序,下载后安装释放程序,里面有以下文件:
php_pdo_sqlsrv_52_nts.dll
php_pdo_sqlsrv_52_ts.dll
php_pdo_sqlsrv_53_nts_vc6.dll
php_pdo_sqlsrv_53_nts_vc9.dll
php_pdo_sqlsrv_53_ts_vc6.dll
php_pdo_sqlsrv_53_ts_vc9.dll
php_sqlsrv_52_nts.dll
php_sqlsrv_52_ts.dll
php_sqlsrv_53_nts_vc6.dll
php_sqlsrv_53_nts_vc9.dll
php_sqlsrv_53_ts_vc6.dll
php_sqlsrv_53_ts_vc9.dll
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版本。

以上虽然是这样说的但是我还是用的是Apache。之前用vc6的不行,换成vc9的后 好了。


开始配置   由于我的版本是VC9 所以选择这两个dll
选择php_sqlsrv_53_ts_vc9.dll和php_pdo_sqlsrv_53_ts_vc9.dll。把文件拷贝到PHP文件夹下的ext目录下,然后在配置文件php.ini
的最后加上如下配置

[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_53_ts_vc9.dll 
[PHP_SQLSRV]
extension=php_sqlsrv_53_ts_vc9.dll 

再重启Apache服务。

phpinfo();  看下配置的信息 如果有以下的信息 说明配置生效了

PHP 连接SQL2008实践_第1张图片

PHP 连接SQL2008实践_第2张图片


$uid,"PWD"=>$pwd,"Database"=>"SalarySend");
$conn = sqlsrv_connect( $serverName,$connectionInfo); 
if( $conn == false) 
{ 
echo "连接失败!"; 
die( print_r( sqlsrv_errors(), true)); 
}
else
echo 'success';
?>

运行成功!

连接成功!

公司折腾了大半个下午,回家了继续折腾!总结原因  是因为配置的dll 没有配置正确  网上查的版本大多数是这些配置:


extension=php_pdo_sqlsrv_53_ts_vc6.dll
extension=php_sqlsrv_52_ts_vc6.dll


[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_53_ts_vc6.dll
[PHP_SQLSRV]
extension=php_sqlsrv_52_ts_vc6.dll

   

最后成功的配置是:

[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_53_ts_vc9.dll 
[PHP_SQLSRV]
extension=php_sqlsrv_53_ts_vc9.dll 

配置后要重启Apache服务。


你可能感兴趣的:(PHP,php,sql,php连接sql2008)