从5.3开始,PHP自带的dll不再支持2000以后的MS SQL Server了。
一、首先需要下载、安装最新版的PHP Driver。我下载的时候,有两个版本,分别是SQLSRV20、SQLSRV30对应PHP 5.2和PHP 5.3以上的版本。从微软官方下载的是两个exe文件,实际上是一个可以自解压的压缩包。双击运行后,会提示你将文件保存到什么位置。选择对应的位置后,就能够看到众多的dll文件了。也可以下载我的解压附件:此处内容需要评论后方可阅读。
二、之后根据自己的需要,选择对应的dll(php_pdo_sqlsrv_56_ts.dll,php_sqlsrv_56_ts.dll),拷贝到php安装路径的ext目录下。完成后,记得修php.ini中的配置,然后重启Web服务器使配置生效。
修改php.in将mssql.secure_connection = Off改为mssql.secure_connection = On
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_56_ts.dll
[PHP_SQLSRV]
extension=php_sqlsrv_56_ts.dll
其中,ts表示线程安全,nts表示非线程安全。根据你的需要选择就可以了。
这个时候,如果遇到要求安装“SQL Server Native Client”的错误,这说明本地没有安装客户端。这种情况,可以通过在本地安装SQL Server的时候选择安装Client,或者单独下载安装Client解决。在参考资料2的链接中,可以找到Client的下载地址。
这些问题排除后,就可以使用PDO函数,链接SQL Server数据库了。
<?php header("Content-type: text/html; charset=gb2312"); $serverName = "LIU\LIU"; //数据库服务器地址 $uid = "sa"; //数据库用户名 $pwd = "123456"; //数据库密码 $connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>"LearnDB"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn == false) { echo "连接失败!"; die( print_r( sqlsrv_errors(), true)); }else{ echo "连接成功!"; } $query = sqlsrv_query($conn, "select * from uCourse"); while($row = sqlsrv_fetch_array($query)){//使用while遍历所有记录,并显示在表格的tr中 print_r($row); } echo "</tr></table>"; ?>