当前位置:首页 > PHP教程 > php高级应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-15 15:13:17 浏览: 评论:0 

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文件,下载驱动程序,下载后安装释放程序,里面有以下文件:

  1. php_pdo_sqlsrv_52_nts.dll 
  2. php_pdo_sqlsrv_52_ts.dll 
  3. php_pdo_sqlsrv_53_nts_vc6.dll 
  4. php_pdo_sqlsrv_53_nts_vc9.dll 
  5. php_pdo_sqlsrv_53_ts_vc6.dll 
  6. php_pdo_sqlsrv_53_ts_vc9.dll 
  7. php_sqlsrv_52_nts.dll 
  8. php_sqlsrv_52_ts.dll 
  9. php_sqlsrv_53_nts_vc6.dll 
  10. php_sqlsrv_53_nts_vc9.dll 
  11. php_sqlsrv_53_ts_vc6.dll 
  12. 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连接),代码如下:

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

5.例子 mssql_lib.php 代码如下:

  1. <?php 
  2.  
  3. class DB { 
  4.     var $con = null; 
  5.     function __construct($dbhost,$dbuser,$dbpass,$dbname) { 
  6.         $connectionInfo =  array("UID"=>$dbuser,"PWD"=>$dbpass,"Database"=>$dbname); 
  7.         $this->con = sqlsrv_connect($dbhost,$connectionInfo); 
  8.     } 
  9.     function query($sql){ 
  10.         $result = sqlsrv_query($this->con, $sql); 
  11.     } 
  12.     function getRow($sql){ 
  13.         $result = sqlsrv_query($this->con, $sql); 
  14.         $arr = array(); 
  15.         while($row = sqlsrv_fetch_array($result)) 
  16.         { 
  17.             $arr[] = $row
  18.         } 
  19.         return $arr[0]; 
  20.     } 
  21.     function getAll($sql){ 
  22.         $result = sqlsrv_query($this->con, $sql); 
  23.         $arr = array(); 
  24.         while($row = sqlsrv_fetch_array($result)) 
  25.         { 
  26.             $arr[] = $row
  27.         } 
  28.         return $arr
  29.     } 
  30.     function __destruct() { 
  31.         unset($con); 
  32.     } 
  33. test.php 
  34. //简单调用 
  35. $db = new DB(DB_HOST, DB_USER, DB_PASS, DB_NAME); 
  36. $sql = "select * from crm_order_batch where (status=0 or status is null) and lock_id is not null  "
  37. $orders_add_list = $db->getAll($sql); 
  38. ?>

Tags: MSSQL2008 SQLSRV配置

分享到: