php5.4 连接sql,PHP5.4 如何连接MS Sql Server

安装好xampp后,如果你的php需要访问ms sqlserver数据库,就需要这个步骤,否则会出错:

Fatal error: Call to undefined function sqlsrv_connect() in D:\appServ

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_54_ts.dll

[PHP_SQLSRV]

extension=php_sqlsrv_54_ts.dll

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

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

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

[PHP_PDO_SQLSRV]

extension=php_pdo_sqlsrv_54_nts.dll

[PHP_SQLSRV]

extension=php_sqlsrv_54_nts.dll

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

重启后,如果出现了这个错误:

PHP Startup sqlsrv Unable to initialize module

则表明你的php.ini中配置的dll版本、ext中放的dll版本和实际php的版本不一致。查看当前php版本的方法是:http://localhost:port/,查看php状态。

重启后上述错误不再出现,但是qlsrv_connect($Server,$conInfo); 却总是运行不过,打出错误信息:

$conInfo=array('Database'=>$database,'UID'=>$uid,'PWD'=>$pwd);

$link=sqlsrv_connect($Server,$conInfo);

if( $link ){

// echo "Connection established.\n";

}

else{

//echo "Connection could not be established. ";

print_r( sqlsrv_errors(), true);

if( ($errors = sqlsrv_errors() ) != null) {

foreach( $errors as $error ) {

echo "SQLSTATE: ".$error[ 'SQLSTATE']."
";

echo "code: ".$error[ 'code']."
";

echo "message: ".$error[ 'message']."
";

}

}

die("");

}

这一次看到问题所在了:

SQLSTATE: IMSSP
code: -49
message: This extension requires the Microsoft SQL Server 2012 Native Client...

下载Microsoft SQL Server 2012 Native Client进行安装。

这下就ok了。

最后有点疑惑:

我的sql server装的本来是2008版的,为什么需要Microsoft SQL Server 2012 Native Client?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值