致力于自动化测试技术,性能测试技术的研究,测试技术培训以及项目实施,做一个技术与实施的主导者。

php运用adodb连接不同数据库(实例)

上一篇 / 下一篇  2012-04-10 13:51:13 / 天气: 晴朗 / 心情: 高兴 / 个人分类:php

首先定义一个数据库连接函数,支持多种不同的数据库,传入一个SQL语句,将执行结果返回,代码如下:51Testing软件测试网S6Y!h"F[4Y
public function DBConnect($DBType,$DBServer,$DBUser,$DBPass,$DBName,$sqlStr)
)``FT _L#\E:|Q0 {
)O*o*M4Bc%]0  $StrCon;51Testing软件测试网z9_-jB8f
  $result;
PS YR.c2|0  $conn;
,t"gt]6~ mW0  $output="";51Testing软件测试网Xs1Kq&S
  switch($DBType)
B1g%i i P0  {51Testing软件测试网B1[n&?,F.` L(V
   Case 0: //Sql Server
C/W BR7_0     //$StrCon ="Driver={SQL Server};Server=$DBServer;Database=$DBName;Uid=$DBUser;Pwd=$DBPass;";51Testing软件测试网0A%W7~.[1c
      //创建SQL Server数据库连接
)K y+kD)x b0      $conn=  &NewADOConnection('odbc_mssql');51Testing软件测试网 |${ m'm0s
      $conn->Connect("Driver={SQL Server};Server=".$DBServer.";Database=".$DBName.";Uid=".$DBuser.";Pwd=".$DBPass.";");     51Testing软件测试网.} Yo:y+\ b
   break;51Testing软件测试网4v8iF1MjsGg4NK
   Case 1: //Oracle
E!i9~}/~2I%Rw#_0     //$StrCon ="Provider=MSDAORA.1;Data Source=$DBServer;Password=$DBPass;User ID=$DBUser;Persist Security Info=True;";
DVR @f:|7V'z0      //创建oracle数据库连接51Testing软件测试网&BUg;Yxk;P8l.x.@
      $conn = &NewADOConnection('oci8');51Testing软件测试网ZQJ RQ#`
      $conn->Connect($DBServer,$DBUser,$DBPass);
I5O:L(sO-u o%a0   break;
MI/~j5y$E0   Case 2: //Access51Testing软件测试网1h(]!D(R8NG4a
     //$StrCon ="Driver={Microsoft Access Driver (*.mdb)};Dbq=$DBName;Uid=$DBUser;Pwd=$DBPass;";
.INry F*x1`|^6{0      //创建Access数据库连接51Testing软件测试网&l1T5U |%t Qob
      $conn = &NewADOConnection('access');51Testing软件测试网}+D!n L7~|B
      $conn->Connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=".$DBName.";Uid=".$DBUser.";Pwd=".$DBPass.";");
Zx.a%SI,A!SMn0   break;51Testing软件测试网F_$`}m:?${.si
   Case 3: //mysql
!I rY9p e0      //创建mysql数据库连接51Testing软件测试网M"nR1H4Y
      $conn = NewADOConnection('mysql');51Testing软件测试网uMya5^%y+C2Rq|4h
     $conn->Connect($DBServer,$DBUser,$DBPass,$DBName);51Testing软件测试网,}\ X2S:~%M1v M
      //$conn = &NewADOConnection("mysql://".$DBUser.":".$DBPass."@".$DBServer."/".$DBName);  51Testing软件测试网m0hf {7I-C
   break;51Testing软件测试网th#_@!^pIC {u
   default:
8\Ly{*N0[] Ra0   echo "抱歉,暂不支持此数据库,请检查配置的数据库类型!";
U1s4x/O%oM+b0   die();51Testing软件测试网2N3hK W)Xd L
   break;  51Testing软件测试网tuV2q"x+m8k
  }
  //执行查询操作
GBy4`In~{v#G0  $result=$conn->Execute($sqlStr);
~"X X1zp.~ W0  //数据库查询失败处理51Testing软件测试网[W_3TE{W3R-EE/w
  if ($result==false)51Testing软件测试网e0{z@1dr
  {51Testing软件测试网j j-uLvL3^
   die("查询失败");
:z'wu?JW0  }51Testing软件测试网GVpYD f I ?$Vy v
  //输出查询结果
G6j9[n7prq0  while(!$result->EOF)51Testing软件测试网H.J/s9V [4e7~)tLG3y
  {51Testing软件测试网T"q8eM}.V
   $max=$result->fieldcount();
;oA(mEeQM0   //$output=array();51Testing软件测试网D3yc)n*lr5ZO
   for($i=0;$i<$max;$i++)51Testing软件测试网r(P6_1tr
   {51Testing软件测试网v;\j+\)s5}h0t*P
    //echo $result->fields[$i].' ';51Testing软件测试网2E6P sr'[K2H%xt
    $res[$i]=$result->fields[$i].' ';51Testing软件测试网C{+M2M1IxH t
    $output=$output.$res[$i];51Testing软件测试网n h1sC+tz2Bf#G
   }51Testing软件测试网RX`DHR+m
  $result->MoveNext();51Testing软件测试网(c J(ky7Qv$T@
  }
kx_Nc0@p*v0  $output=trim($output);
%]0VTr7Y1Wr{^0  //echo $output;
%gp&L+d)vo4}5N0  //关闭数据库连接
T1puDY0  $conn->Close();
{+oly#N4Q$a v0  return $output;51Testing软件测试网Y(]A3s a-d
 }

;P/C.DM2m;f5m0定义一个函数,指明需要使用的数据库类型,数据库用户名和密码等,传入SQL语句,调用上面定义的数据库连接方法,执行SQL语句。
4od5tuJx)`+P"M7g0 public function ExecuteSql($sqlStr)51Testing软件测试网7XM7]zXf6uR/~
 {51Testing软件测试网ApimmAym*J
    $DBType=1;51Testing软件测试网}*^ t k8z:w4v
    $DBServer="arron";
lpU d~i3N0    //数据库用户名,不要使用sys这个超级用户
%} }%B-c?kq3C0    $DBUser="system";
VMd}1`3x+{-^Q0    $DBPass="abcde";
~ Jlnija0    $DBName="";51Testing软件测试网&l;k\ x K|7K }B^
    //$sqlStr="SELECT * FROM func;";
B+Y f!FCpj6Q0    $myExpectStr=$this->DBConnect($DBType,$DBServer,$DBUser,$DBPass,$DBName,$sqlStr);
T'joN.~c _/[9E0    return $myExpectStr;
%Y;p8K!F{J$d wN s0 }51Testing软件测试网6Jps{s!hfl
}

TAG:

 

评分:0

我来说两句

vprince

vprince

6年软件测试经验,TIB自动化测试工作室核心成员,ATF框架核心设计和开发人员,熟悉软件自动化测试、性能测试,多年从事软件项目的自动化测试和性能测试,对自动化测试的框架设计开发、框架搭建以及实施有较为丰富的实战经验。 目前关注开源自动化测试领域、 基于Selenium构建Web自动化测试框架,为多家企业进行自动化测试培训、实施自动化测试项目。

日历

« 2024-05-15  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 67551
  • 日志数: 49
  • 建立时间: 2009-09-09
  • 更新时间: 2012-12-14

RSS订阅

Open Toolbar