php和sqlserver

工作需要用到php5.5连sqlserver 2008 R2,发现最新版的PHP内置已经不支持mssql 了,需要用到sqlsrv。 
微软提供了Microsoft Drivers for php for SQL Server。

配置方法其实很简单,就是这两行加入到php.ini中,然后复制这两个文件到ext目录下。 
extension=php_pdo_sqlsrv_55_ts.dll 
extension=php_sqlsrv_55_ts.dll

Windows版的PHP从版本5.2.1开始有Thread Safe和NoneThread Safe之分。

  先从字面意思上理解,Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。

通过phpinfo(); 查看其中的 Thread Safety 项,这个项目就是查看是否是线程安全,如果是:enabled,一般来说应该是ts版,否则是nts版。

!!64位系统下载解压后请选择 /x64 文件夹下的!!

配置成功后再phpinfo里会看到这个

这里写图片描述

sql server类库mssql_lib.php文件如下:

复制代码
 1 <?php
 2  class DB {
 3      var $con = null;
 4      function __construct($dbhost,$dbuser,$dbpass,$dbname) {
 5          $connectionInfo =  array("UID"=>$dbuser,"PWD"=>$dbpass,"Database"=>$dbname);
 6          $this->con = sqlsrv_connect($dbhost,$connectionInfo);
 7      }
 8      function query($sql){
 9          $result = sqlsrv_query($this->con, $sql);
10      }
11      function getRow($sql){
12          $result = sqlsrv_query($this->con, $sql);
13          $arr = array();
14          while($row = sqlsrv_fetch_array($result))
15          {
16              $arr[] = $row;
17          }
18          return $arr[0];
19      }
20      function getAll($sql){
21          $result = sqlsrv_query($this->con, $sql);
22          $arr = array();
23          while($row = sqlsrv_fetch_array($result))
24          {
25              $arr[] = $row;
26          }
27          return $arr;
28      }
29      function __destruct() {
30          unset($con);
31      }
32  }
复制代码

sql server实例化类库test.php页面如下:

1 //简单调用
2 $db = new DB(DB_HOST, DB_USER, DB_PASS, DB_NAME);
3 $sql = "select * from crm_order_batch where (status=0 or status is null) and lock_id is not null";
4 $orders_add_list = $db->getAll($sql);


   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值