最近客户的一个项目要求用sqlserver数据库,就在网上找了一些资料,在自己的电脑上试了一下,链接成功了。现在记下过程,以备不时之需。


windows系统下,PHP5.3以上的版本已经不支持mssql扩展,所以如果你需要和sql server通信需要到http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx自行下载微软提供的The SQL Server Driver for PHP。


下载后解压缩,将所有的.dll文件拷贝到php安装目录的ext文件夹中,接下来打开php.ini,添加以下语句打开php_sqlsrv和php_pdo_sqlsrv扩展:

——————————————————–

[PHP_PDO_SQLSRV]

extension=php_pdo_sqlsrv_53_ts_vc6.dll

[PHP_SQLSRV]

extension=php_sqlsrv_53_ts_vc6.dll 

—————————————————


这里的53表示的是php5.3,如果你的是5.2版,就改成52,如果你的PHP版本是线程安全的,那么你的PHP安装目录下应该有一个php5ts.dll,与这里的两行语句对应,如果是php5nts.dll,那么上面的语句应该是:

—————————————————————-

[PHP_PDO_SQLSRV]

extension=php_pdo_sqlsrv_53_nts_vc6.dll

[PHP_SQLSRV]

extension=php_sqlsrv_53_nts_vc6.dll 

—————————————————-


压缩包里有各个版本对于的dll文件,大家可以去仔细核查。


开启扩展后,重启apache,这样就可以连接sqlserver了,但是还有一点要注意,如果你没有安装Microsoft SQL Server 2008 R2 Native Client,必须去http://msdn.microsoft.com/en-us/library/cc296170(SQL.90).aspx下载安装,因为微软的这个扩展包需要这个支持。


一切妥当之后,就可以写php代码了,如果你下载了The SQL Server Driver for PHP,那么在解压缩后的文件夹里有一个帮助文档,你可以很容易的找到示例,下面是我用的一个简单的例子:

$pdo=new PDO("sqlsrv:server=127.0.0.1;database=Phpdata",'sa','123456');	
$db=$pdo->prepare("SELECT TOP 1000 id FROM test");
$db->execute();
$result = $db->fetchAll(PDO::FETCH_ASSOC);
print_r($result);