设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP连通MSSQL2008 2005数据库 SQLSRV 配置

发布时间:2022-02-23 14:58 所属栏目:121 来源:互联网
导读:
导读:PHP连接MSSQL2008/2005数据库与以往的连接mssql2000是不一样的,连接mssql2008/2005是需要自己添加PHP对MSSQL连接的驱动扩展了,而我们常用的hp.ini中的extension=php_mssql.dll扩展只适用连接于MSSQL2000哦,下面我们就来看看解决办法. 1.下载扩展 (1)去官方下
  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 />";
    } //开源软件:Cuoxin.com
    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);
  ?>

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读