zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

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

2023-06-13 09:15:29 时间

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

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

1.下载扩展

(1)去官方下载一个SQLServerDriverforPHP的扩展包,我是在这里下载的http://www.microsoft.com/en-us/download/details.aspx?id=20098【记得下载后好像是要先安装然后再解压】

下载驱动程序,下载后安装释放程序,里面有以下文件:
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的DynamicExtensions中添加如下两条扩展:
   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)ordie("连接失败!");
 $val=sqlsrv_query($conn,"select*fromusertable");
 while($row=sqlsrv_fetch_array($val)){
   echo$row[1]."<br/>";
 }
 sqlsrv_close($conn);
?>

5.例子

链接示例:
mssql_lib.php文件如下:

复制代码代码如下:

<?php
classDB{
   var$con=null;
   function__construct($dbhost,$dbuser,$dbpass,$dbname){
       $connectionInfo= array("UID"=>$dbuser,"PWD"=>$dbpass,"Database"=>$dbname);
       $this->con=sqlsrv_connect($dbhost,$connectionInfo);
   }
   functionquery($sql){
       $result=sqlsrv_query($this->con,$sql);
   }
   functiongetRow($sql){
       $result=sqlsrv_query($this->con,$sql);
       $arr=array();
       while($row=sqlsrv_fetch_array($result))
       {
           $arr[]=$row;
       }
       return$arr[0];
   }
   functiongetAll($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=newDB(DB_HOST,DB_USER,DB_PASS,DB_NAME);
$sql="select*fromcrm_order_batchwhere(status=0orstatusisnull)andlock_idisnotnull ";
$orders_add_list=$db->getAll($sql);

希望本文所述对大家的PHP数据库程序设计有所帮助。