Windows平台实现PHP连接SQL Server2008的方法


Posted in PHP onJuly 26, 2017

本文实例讲述了Windows平台实现PHP连接SQL Server2008的方法。分享给大家供大家参考,具体如下:

如果你需要和sql server通信需要到http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx自行下载微软提供的The SQL Server Driver for PHP。这是一个自解压文件,解压后会得到以下几个文件:

php_sqlsrv_52_nts_vc6.dll
php_sqlsrv_52_ts_vc6.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
php_sqlsrv_license.rtf
SQLServerDriverForPHP.chm
SQLServerDriverForPHP_Readme.htm

PS:上述压缩文件也可点击此处本站下载

其中,52,53表示PHP的5.2.X和5.3.X的版本;nts表示非线和安全,ts表示线程安全;vc6表示使用Apache作为Web Server,vc9表示使用IIS作为Web Server。

根据您的配置,将相应的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,那么在解压缩后的文件夹里有一个帮助文档,你可以很容易的找到示例,在这里站长介绍一个简单的例子:

<?php
//本地测试的服务名
$serverName = "(127.0.0.1)";
//使用sql server身份验证,参数使用数组的形式,一次是用户名,密码,数据库名
//如果你使用的是windows身份验证,那么可以去掉用户名和密码
$connectionInfo = array( "UID"=>"root",
"PWD"=>"root2010″,
"Database"=>"master");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn )
{
echo "Connection established.\n";
}
else
{
echo "Connection could not be established.\n";
die( print_r( sqlsrv_errors(), true));
}
?>

如果连接不成功,重启sql server再试。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
第三节 定义一个类 [3]
Oct 09 PHP
PHP MYSQL乱码问题,使用SET NAMES utf8校正
Nov 30 PHP
php 数组二分法查找函数代码
Feb 16 PHP
PHP Class&amp;Object -- PHP 自排序二叉树的深入解析
Jun 25 PHP
Drupal7 form表单二次开发要点与实例
Mar 02 PHP
phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
Jul 19 PHP
PHP生成压缩文件实例
Feb 07 PHP
Yii操作数据库实现动态获取表名的方法
Mar 29 PHP
PHP实现Google plus的好友拖拽分组效果
Oct 21 PHP
PHP使用PDO访问oracle数据库的步骤详解
Sep 29 PHP
PHP中检查isset()和!empty()函数的必要性
Feb 13 PHP
再谈Yii Framework框架中的事件event原理与应用
Apr 07 PHP
php判断str字符串是否是xml格式数据的方法示例
Jul 26 #PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
Jul 26 #PHP
php实现微信企业号支付个人的方法详解
Jul 26 #PHP
PHP编程实现微信企业向用户付款的方法示例
Jul 26 #PHP
浅谈Yii乐观锁的使用及原理
Jul 25 #PHP
PHP异常处理定义与使用方法分析
Jul 25 #PHP
PHP实现防盗链的方法分析
Jul 25 #PHP
You might like
通俗易懂的php防注入代码
2010/04/07 PHP
PHP包含文件函数include、include_once、require、require_once区别总结
2014/04/05 PHP
ThinkPHP实现事务回滚示例代码
2014/06/23 PHP
初识PHP
2014/09/28 PHP
php创建桌面快捷方式实现方法
2015/12/31 PHP
php中使用websocket详解
2016/09/23 PHP
基于php双引号中访问数组元素报错的解决方法
2018/02/01 PHP
node+express+jade制作简单网站指南
2014/11/26 Javascript
javascript结合fileReader 实现上传图片
2015/01/30 Javascript
浅谈javascript中for in 和 for each in的区别
2015/04/23 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
2016/05/13 Javascript
JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法
2016/06/05 Javascript
ECMAScript6快速入手攻略
2016/07/18 Javascript
初识NodeJS服务端开发入门(Express+MySQL)
2017/04/07 NodeJs
angularJS的radio实现单项二选一的使用方法
2018/02/28 Javascript
JS中touchstart事件与click事件冲突的解决方法
2018/03/12 Javascript
[01:22:19]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
[02:10]DOTA2 TI10勇士令状玩法及不朽Ⅰ展示:焕新世界,如你所期
2020/05/29 DOTA
如何处理Python3.4 使用pymssql 乱码问题
2016/01/08 Python
flask中使用蓝图将路由分开写在不同文件实例解析
2018/01/19 Python
Python利用Scrapy框架爬取豆瓣电影示例
2020/01/17 Python
Python pip install如何修改默认下载路径
2020/04/29 Python
台湾百利市购物中心:e-Payless
2017/08/16 全球购物
比较基础的php面试题及答案-填空题
2014/04/26 面试题
大学生村官典型材料
2014/01/12 职场文书
亲属关系公证书
2014/04/08 职场文书
医药销售自我评价200字
2014/09/11 职场文书
2014学校领导四风对照检查材料思想汇报
2014/09/23 职场文书
诉讼代理人授权委托书
2014/10/11 职场文书
查摆问题整改措施
2014/10/24 职场文书
一年级数学上册复习计划
2015/01/17 职场文书
六一儿童节新闻稿
2015/07/17 职场文书
公司年会主持词范文!
2019/05/07 职场文书
Python实现查询剪贴板自动匹配信息的思路详解
2021/07/09 Python
用python基于appium模块开发一个自动收取能量的小助手
2021/09/25 Python