Microsoft Drivers for PHP for SQL Server


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

 

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

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

 

1.下载扩展

WINDOWS解决方案

https://www.microsoft.com/en-us/download/details.aspx?id=20098

 

LINUX解决方案

https://github.com/Microsoft/msphpsql

 

将下载下来的rar文件解压后你就会得到一堆的.dll文件

下载驱动程序,下载后安装释放程序,里面有以下文件:

PHP Drivers License Terms.rtf
php_pdo_sqlsrv_54_nts.dll
php_pdo_sqlsrv_54_ts.dll
php_pdo_sqlsrv_55_nts.dll
php_pdo_sqlsrv_55_ts.dll
php_pdo_sqlsrv_56_nts.dll
php_pdo_sqlsrv_56_ts.dll
php_sqlsrv_54_nts.dll
php_sqlsrv_54_ts.dll
php_sqlsrv_55_nts.dll
php_sqlsrv_55_ts.dll
php_sqlsrv_56_nts.dll
php_sqlsrv_56_ts.dll
release.txt
SQLSRV_Readme.htm
SQLSRV_ThirdPartyNotices.rtf

 

2.添加扩展

根据(vc6/vc9)需要选择扩展,我的环境是 php-5.6.25-nts-Win32-VC11-x86

我选用的是

php_pdo_sqlsrv_56_nts.dll

php_sqlsrv_56_nts.dll

两个文件,复制到 php-5.6.25-nts-Win32-VC11-x86 t安装目录下的ext目录下

 

3.配置php.ini

(1)在php.ini的Extensions中添加如下两条扩展:
    extension=php_pdo_sqlsrv_56_nts.dll
    extension=php_sqlsrv_56_nts.dll

 

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

 

 1 <?php
 2    $servern="SFKFK27EL8FJ\SQLTRY";
 3    $coninfo=array("Database"=>"try2","UID"=>"sa","PWD"=>"123");
 4    $conn=sqlsrv_connect($servern,$coninfo) or die ("连接失败!");
 5    $val=sqlsrv_query($conn,"select * from usertable");
 6    while($row=sqlsrv_fetch_array($val)){
 7      echo $row[1]."<br />";
 8    }
 9    sqlsrv_close($conn); 
10  ?>

 5.例子

链接示例:
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  }

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 <?php
 2 $servern="211.149.240.210";
 3 $coninfo=array("Database"=>"xichong","UID"=>"xxcm","PWD"=>"www_xichong_cn");
 4 $conn=sqlsrv_connect($servern,$coninfo) or die ("连接失败!");
 5 $val=sqlsrv_query($conn,"select * from Ant_Member");
 6 while($row=sqlsrv_fetch_array($val)){
 7 echo $row[4]."<br />";
 8 }
 9 sqlsrv_close($conn); 
10 ?>

 

 

 

如果在配置过程中遇题,可以联系我QQ 1001570 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM