PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例_php sqlsrv 使用 db_my98800的博客-程序员宅基地

技术标签: PHP  

本文实例讲述了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数据库程序设计有所帮助。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/my98800/article/details/53182697

智能推荐

crontab--定时器命令-程序员宅基地

linux系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 : crontab 命令。一、crond简介  crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划

WebDynpro 概述-程序员宅基地

Web Dynpro概述Web Dynpro技术沿用了传统SAP GUI的名称规则。该技术是Sap NetWeaver平台下的用户开发模型,是一种Sap在NetWeaver Portal中使用的网络应用程序,是SAP核心业务应用程序的网络表述和用户接口。Web Dynpro可以通过Java语言在SAP NetWeaver Developer Studio(NWDS) 中开发,或者通过A..._webdynpro 属于接口吗

Android自定义View——从零开始实现水波浪进度框-程序员宅基地

本系列教程博客,我都会将自己实现的思路写下来,带大家一步步从零开始实现我们想要的效果。因为最近在网上看了很多前辈们实现的 水波浪进度框,一时手痒,所以任性地决定这系列的第二篇博客的主角就是它了

Java不可变类或对象详解(Immutable class)-程序员宅基地

[size=medium]如果某个对象在被创建后其状态就不能被修改,那么这个对象就称为不可变对象。线程安全性是不可变对象的固有属性之一,它们的不变性条件是由构造函数创建的,只要它们的状态不改变,那么这些不变性条件就能得以维持。不可变对象一定是线程安全的。当满足以下条件时,对象才是不可变的:1) 对象创建以后其状态就不能修改。2) 对象的所有域都是final类型(当然像不可变Stri..._myimmutableclass

JAR包详解_jar包解析结构_清平乐的技术专栏的博客-程序员宅基地

一、什么是JAR包JAR包就是 Java Archive File,顾名思义,它的应用是与 Java 息息相关的,是 Java 的一种文档格式,是一种与平台无关的文件格式,可将多个文件合成一个文件。jar 包与 zip 包非常相似——准确地说,它就是 zip 包,所以叫它文件包。jar 与 zip 唯一的区别就是在 jar 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,该文件是在生成 jar 文件的时候自动创建的,作为jar里面的"详情单",包含了该Jar包的版本、创建人和类搜_jar包解析结构

Android WebView 参数设置明细!_android webview设置-程序员宅基地

WebView wv = new WebView(content);WebSettings ws = wv.getSettings();设置参数明细如下:setPluginsEnabled(true) ;//支持插件setUserWideViewPort(false) ;//将图片调整到适合webview的大小setSupportZoom(true) ;//支持_android webview设置

随便推点

你为什么是穷人——你的处境-穷人被支配-程序员宅基地

你为什么是穷人——你的处境-穷人被支配 从道理上讲,一个人挣再多钱,一天也只吃得了三顿饭,睡觉也只需要一张床,可是为什么还是会那样没有止境地追求财富,永不满足呢?这恐怕不仅仅是贪婪。  有个电视片,名叫少壮海狮的什么,最后两个字忘了,我想应该叫“baodong”吧,如果让我来取。这个片子讲的就是在海狮的繁殖季节,众多的海狮来到一个小岛,通常一只壮硕的成年雄海狮拥有几只成年雌性以及子女,...

Android开发中,那些让你觉得相见恨晚的方法、类或接口_android isdigitsonly-程序员宅基地

本篇文章内容提取自知乎android开发中,有哪些让你觉得相见恨晚的方法、类或接口?,其实有一部是JAVA的,但是在android开发中也算常见。大多数的函数自己还是见过的,这里记录一下备忘。同时呢,也推荐一个github项目,里面记录了自己日常开发中见过的比较有用的东西开发中常用的工具、链接Throwable类中的getStackTrace()方法,根据这个方法可以得到函数的逐层调用地址_android isdigitsonly

Nginx Rewrite的讲解(从新手村到小有成就7)_rewrite-start等待10秒-程序员宅基地

Nginx Rewrite模块1、Nginx跳转需求使用rewrite进行匹配使用if匹配全局变量后跳转使用location匹配再跳转2、rewrite跳转场景使url看起来更规范,合理可将动态url地址伪装成静态地址提供服务网址换新域名后,让旧的访问跳转到新的域名上3、rewrite跳转实现ngx_http_rewrite_module模块:Nginx,支持url重写,if条件判断,但不支持else循环最多执行10次,超过10次后Nginx将返回500错误支持pcre(正则表_rewrite-start等待10秒

解决Linux服务器(Windows)tqdm进度条不待在一行,总是换行的情况。(tqdm详解)_tqdm停留在单行-程序员宅基地

在运行代码时,会有一个进度条,显示当前代码运行的进度,但是有时会出现进度条总是换行的情况,这就让人很不爽,必须找个方法解决了。我们来看一下tqdm的参数,及其说明: def __init__(self, iterable=None, desc=None, total=None, leave=True, file=None, ncols=None, mininterval=0.1, maxinterval=10.0, miniters=None, _tqdm停留在单行

qt布局调用自定义函数_QT 自定义函数 自定义信号和槽-程序员宅基地

使用自定义的信号和槽,需要注意以下几点:1、类的声明和实现分别放在.h和.cpp文件中;2、类声明中包含Q_OBJECT宏;3、信号只要声明不要设计其的实现函数;4、发射信号用emit关键字;5、自定义槽的实现与普通成员函数的实现一样。创建用户自定义的信号与槽的具体步骤:首先你需要在类声明中声明自定义的信号和槽。在关键字public slots:下声明自定义槽;在signals:关键字下声明自定义..._qt自定义函数放在哪里

解决Ubuntu 16.04无法安装Openssh-server_ubuntu16.0.4 ssh安装失败-程序员宅基地

解决Ubuntu16.04 安装Openssh-server失败 当我们在Ubuntu上通过命令安装一个软件时,一不小心删除了安装的日志文件,但是系统还是认为这个文件安装过了。我们通过apt-get命令来安装这个软件的时候就会出现安装不成功的问题。 我在安装过程中就出现了以下问题: 就像图片中这样安装出现问题。网上百度了一圈加上自己尝试终于解决了_ubuntu16.0.4 ssh安装失败