PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例


Posted in PHP onOctober 22, 2014

本文实例讲述了PHP连接MSSQL2008/2005数据库(SQLSRV)配置方法,分享给大家供大家参考。具体方法如下:

PHP连接MSSQL2008/2005数据库与以往的连接mssql2000是不一样的,连接mssql2008/2005是需要自己添加PHP对MSSQL连接的驱动扩展了,而我们常用的hp.ini中的extension=php_mssql.dll扩展只适用连接于MSSQL2000,下面我们就来看看对此的解决办法

1.下载扩展

(1)去官方下载一个SQL Server Driver for PHP的扩展包,我是在这里下载的http://www.microsoft.com/en-us/download/details.aspx?id=20098【记得下载后好像是要先安装然后再解压】

(2)您也可以直接从本站下载(我之前下载的,来源于microsoft官方)【点击此处直接下载】
将下载下来的rar文件解压后你就会得到一堆的.dll文件

下载驱动程序,下载后安装释放程序,里面有以下文件:
php_pdo_sqlsrv_52_nts.dll
php_pdo_sqlsrv_52_ts.dll
php_pdo_sqlsrv_53_nts_vc6.dll
php_pdo_sqlsrv_53_nts_vc9.dll
php_pdo_sqlsrv_53_ts_vc6.dll
php_pdo_sqlsrv_53_ts_vc9.dll
php_sqlsrv_52_nts.dll
php_sqlsrv_52_ts.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
SQLServerDriverForPHP.chm(手册,英文够好的话,可以看看,嘿嘿)
SQLServerDriverForPHP_License.rtf
SQLServerDriverForPHP_Readme.htm(自述文件)

2.添加扩展

根据(vc6/vc9)需要选择扩展,我的环境是WAMP(php5.2.6/apache2.2.8),我选用的是php_sqlsrv_52_ts_vc6.dll,php_pdo_sqlsrv_52_ts_vc6.dll这两个文件,复制到wamp安装目录下的ext目录下,我的ext目录是在wamp/bin/php/php5.2.6/ext/

3.配置php.ini

(1)在php.ini的Dynamic Extensions中添加如下两条扩展:
    extension=php_sqlsrv_52_ts_vc6.dll
    extension=php_pdo_sqlsrv_52_ts_vc6.dll
(2)将;extension=php_pdo.dll前面的;去掉,开启pdo连接扩展
(3)重新启动apache

4.连接数据库(pdo连接)

<?php

  $servern="SFKFK27EL8FJ\SQLTRY";

  $coninfo=array("Database"=>"try2","UID"=>"sa","PWD"=>"123");

  $conn=sqlsrv_connect($servern,$coninfo) or die ("连接失败!");

  $val=sqlsrv_query($conn,"select * from usertable");

  while($row=sqlsrv_fetch_array($val)){

    echo $row[1]."<br />";

  }

  sqlsrv_close($conn); 

?>

5.例子

链接示例:
mssql_lib.php文件如下:

<?php

class DB {

    var $con = null;

    function __construct($dbhost,$dbuser,$dbpass,$dbname) {

        $connectionInfo =  array("UID"=>$dbuser,"PWD"=>$dbpass,"Database"=>$dbname);

        $this->con = sqlsrv_connect($dbhost,$connectionInfo);

    }

    function query($sql){

        $result = sqlsrv_query($this->con, $sql);

    }

    function getRow($sql){

        $result = sqlsrv_query($this->con, $sql);

        $arr = array();

        while($row = sqlsrv_fetch_array($result))

        {

            $arr[] = $row;

        }

        return $arr[0];

    }

    function getAll($sql){

        $result = sqlsrv_query($this->con, $sql);

        $arr = array();

        while($row = sqlsrv_fetch_array($result))

        {

            $arr[] = $row;

        }

        return $arr;

    }

    function __destruct() {

        unset($con);

    }

}

test.php页面如下:

//简单调用

$db = new DB(DB_HOST, DB_USER, DB_PASS, DB_NAME);

$sql = "select * from crm_order_batch where (status=0 or status is null) and lock_id is not null  ";

$orders_add_list = $db->getAll($sql);

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

PHP 相关文章推荐
用DBSQL类加快开发MySQL数据库程序的速度
Oct 09 PHP
如何在PHP程序中防止盗链
Apr 09 PHP
php 函数使用方法与函数定义方法
May 09 PHP
php批量上传的实现代码
Jun 09 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
Dec 03 PHP
ThinkPHP3.1新特性之动态设置自动完成及自动验证示例代码
Jun 23 PHP
PHP 前加at符合@的作用解析
Jul 31 PHP
Laravel利用gulp如何构建前端资源详解
Jun 03 PHP
详解php协程知识点
Sep 21 PHP
PHP单例模式数据库连接类与页面静态化实现方法
Mar 20 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
Oct 16 PHP
关于Laravel参数验证的一些疑与惑
Nov 19 PHP
百度实时推送api接口应用示例
Oct 21 #PHP
php之curl实现http与https请求的方法
Oct 21 #PHP
教你如何开启shopnc b2b2c 伪静态
Oct 21 #PHP
PHP大转盘中奖概率算法实例
Oct 21 #PHP
PHP与MYSQL中UTF8编码的中文排序实例
Oct 21 #PHP
php cookie中点号(句号)自动转为下划线问题
Oct 21 #PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
Oct 21 #PHP
You might like
php Smarty date_format [格式化时间日期]
2010/03/15 PHP
基于PHP对XML的操作详解
2013/06/07 PHP
zend optimizer在wamp的基础上安装图文教程
2013/10/26 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
2016/02/16 PHP
php实现的一段简单概率相关代码
2016/05/30 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
2018/10/15 PHP
JS(jQuery)实现聊天接收到消息语言自动提醒功能详解【提示“您有新的消息请注意查收”】
2019/04/16 PHP
IE php关于强制下载文件的代码
2008/08/23 Javascript
JavaScript 语法集锦 脚本之家基础推荐
2009/11/15 Javascript
javascript 函数速查表
2010/02/07 Javascript
基于jQuery的消息提示插件 DivAlert之旅(二)
2010/04/01 Javascript
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
js离开或刷新页面检测(且兼容FF,IE,Chrome)
2014/03/05 Javascript
bootstrap的工具提示实例代码
2017/05/17 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
2018/03/01 Javascript
JavaScript中使用import 和require打包后实现原理分析
2018/03/07 Javascript
vue-cli4.x创建企业级项目的方法步骤
2020/06/18 Javascript
在Django中编写模版节点及注册标签的方法
2015/07/20 Python
详细解读Python中解析XML数据的方法
2015/10/15 Python
python 使用pandas计算累积求和的方法
2019/02/08 Python
Python爬虫之urllib基础用法教程
2019/10/12 Python
python使用pip安装SciPy、SymPy、matplotlib教程
2019/11/20 Python
python 图像的离散傅立叶变换实例
2020/01/02 Python
Python与C/C++的相互调用案例
2021/03/04 Python
CLR与IL分别是什么含义
2016/08/23 面试题
如何定义一个可复用的服务
2014/09/30 面试题
公司年会晚宴演讲稿
2014/01/06 职场文书
环保标语大全
2014/06/12 职场文书
幼儿园中班区域活动总结
2014/07/09 职场文书
工程技术负责人岗位职责
2015/04/13 职场文书
中学生国庆节演讲稿2015
2015/07/30 职场文书
微信小程序实现录音Record功能
2021/05/09 Javascript
Oracle 触发器trigger使用案例
2022/02/24 Oracle
星际争霸 Light vs Action 一场把教主看到鬼畜的比赛
2022/04/01 星际争霸
Win11 Build 22000.829更新补丁KB5015882发布(附更新修复内容汇总)
2022/07/15 数码科技
MySQL性能指标TPS+QPS+IOPS压测
2022/08/05 MySQL