PHP5.6连接sqlserver2012所迈过的坑~

昨天需要用到php5.6链接sqlserver2012服务器,iis服务器,网上查了一些资料现整理如下

    首先PHP5.6并未提供链接sqlserver的扩展,需要到微软下载相应版本的PHP链接sqlserver的驱动扩展,php5.6对应的是

  • Version 3.2 supports PHP 5.6, 5.5, and 5.4 on Windows

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

放到php文件夹下/ext扩展文件夹里.并在php.ini中将扩展启用,我的是5.6 线程安全版本

php.ini中增加

extension=php_pdo_sqlsrv_56_ts.dll 

extension=php_sqlsrv_56_ts.dll 

但是由于微软提供的扩展只支持32位PHP版本的,可是我的是64位.....怎么办?

还好有国外大牛解决了这个问题,提供php64位版本的扩展,热心的小伙伴已经提供了分享http://pan.baidu.com/s/1dDIRpJF

好,这个问题解决了,phpinfo里面也有了sqlsrv的信息,但是,还是连不上,查资料后得知我的服务器程序和数据库并不在一起...并且程序服务器并没有装sqlserver 如果需要连接sqlserver还需要在程序服务器上安装一个 SQL Server 2012 Native Client (我的sqlserver数据库是 sqlserver2012)...好吧,装上之后终于连接上了

附上语法

$dsn = 'sqlsrv:Database=databasename;Server=xxx.xxx.xxx.xxx,1433';
$user = 'xxx';
$password = 'xxx';
  
try { 
      
    $db = new PDO($dsn, $user, $password); 
 
} catch (PDOException $e) { 
    echo 'Connection failed: ' . $e->getMessage(); 

date_default_timezone_set('PRC');
$db->query("SET NAMES UTF8");
$db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);

$sql="select xxxxxx";

$db->query($sql);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值