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