欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP程序中使用adodb连接不同数据库的代码实例

程序员文章站 2022-05-24 15:51:50
adodb.inc.php文件需要去下载一个adodb,放在相应的位置,然后在php中include进来就可以。 连接oracle数据库 <...

adodb.inc.php文件需要去下载一个adodb,放在相应的位置,然后在php中include进来就可以。


连接oracle数据库

 <?php 
  include("adodb/adodb.inc.php");         //包含adodb类库文件 
   $conn = &newadoconnection('oci8');
   $conn->connect($dbserver,$dbuser,$dbpass);  
  ?> 

连接postgresql数据库

  <?php 
  include("adodb/adodb.inc.php");         //包含adodb类库文件 
  $conn = newadoconnection('postgres'); 
  $conn->connect('localhost', 'root', 'pass', 'mydb');    
  ?> 

 

连接postgresql数据库

  <?php 
  include("adodb/adodb.inc.php");           //包含adodb类库文件 
  $conn = newadoconnection(' postgres '); 
  $conn->connect('host=localhost port=5432 dbname=mydb'); //连接postgresql数据库 

  ?>

连接mysql数据库

  <?php 
  include("adodb/adodb.inc.php");                 //包含adodb类库文件 
  $conn = newadoconnection('mysql://root:1981427@localhost/test');      //连接mysql数据库 
  ?> 

连接mysql数据库

  <?php 
  include("adodb/adodb.inc.php");         //包含adodb类库文件 
  $conn = newadoconnection('mysql');        
  $conn->connect('localhost', 'root', '1981427', 'test');   //连接mysql数据库 
  ?> 

连接access数据库

  <?php 
  include("adodb/adodb.inc.php");         //包含adodb类库文件 
  $conn = newadoconnection('access');       //连接access数据库 
  $conn->connect("driver={microsoft access driver (*.mdb)};dbq=d://mydb.mdb;uid=admin;pwd=;"); 
  ?> 

连接sql server数据库,通过odbc连接 

  <?php 
  include("adodb/adodb.inc.php");         //包含adodb类库文件 
  $conn=newadoconnection('odbc_mssql');      //连接sql server数据库 
  $conn->connect("driver={sql server};server=localhost;database=mydb;",'username','password'); 
  ?> 


连接sql server数据库 

  <?php 
  include("adodb/adodb.inc.php");         //包含adodb类库文件 
  $conn=newadoconnection('mssql');        //连接sql server数据库 
  $conn->connect("localhost', 'username', 'password', 'mydb'); 
  ?> 

连接db2数据库

  <?php 
  include("adodb/adodb.inc.php");         //包含adodb类库文件 
  $conn=newadoconnection('db2');         //连接db2数据库 
  $conn->connect("driver={ibm db2 odbc driver};database=mydb;hostname=localhost;port=50000; 
   protocol=tcpip;uid=root; pwd=pass"); 
  ?> 

下面来看一个php编程中的实例运用:
首先定义一个数据库连接函数,支持多种不同的数据库,传入一个sql语句,将执行结果返回,代码如下:

public function dbconnect($dbtype,$dbserver,$dbuser,$dbpass,$dbname,$sqlstr)
 {
 $strcon;
 $result;
 $conn;
 $output="";
 switch($dbtype)
 {
  case 0: //sql server
   //$strcon ="driver={sql server};server=$dbserver;database=$dbname;uid=$dbuser;pwd=$dbpass;";
   //创建sql server数据库连接
   $conn= &newadoconnection('odbc_mssql');
   $conn->connect("driver={sql server};server=".$dbserver.";database=".$dbname.";uid=".$dbuser.";pwd=".$dbpass.";");   
  break;
  case 1: //oracle
   //$strcon ="provider=msdaora.1;data source=$dbserver;password=$dbpass;user id=$dbuser;persist security info=true;";
   //创建oracle数据库连接
   $conn = &newadoconnection('oci8');
   $conn->connect($dbserver,$dbuser,$dbpass);
  break;
  case 2: //access
   //$strcon ="driver={microsoft access driver (*.mdb)};dbq=$dbname;uid=$dbuser;pwd=$dbpass;";
   //创建access数据库连接
   $conn = &newadoconnection('access');
   $conn->connect("driver={microsoft access driver (*.mdb)};dbq=".$dbname.";uid=".$dbuser.";pwd=".$dbpass.";");
  break;
  case 3: //mysql
   //创建mysql数据库连接
   $conn = newadoconnection('mysql');
   $conn->connect($dbserver,$dbuser,$dbpass,$dbname);
   //$conn = &newadoconnection("mysql://".$dbuser.":".$dbpass."@".$dbserver."/".$dbname); 
  break;
  default:
  echo "抱歉,暂不支持此数据库,请检查配置的数据库类型!";
  die();
  break; 
 }
 //执行查询操作
 $result=$conn->execute($sqlstr);
 //数据库查询失败处理
 if ($result==false)
 {
  die("查询失败");
 }
 //输出查询结果
 while(!$result->eof)
 {
  $max=$result->fieldcount();
  //$output=array();
  for($i=0;$i<$max;$i++)
  {
  //echo $result->fields[$i].' ';
  $res[$i]=$result->fields[$i].' ';
  $output=$output.$res[$i];
  }
 $result->movenext();
 }
 $output=trim($output);
 //echo $output;
 //关闭数据库连接
 $conn->close();
 return $output;
 }

定义一个函数,指明需要使用的数据库类型,数据库用户名和密码等,传入sql语句,调用上面定义的数据库连接方法,执行sql语句。

 public function executesql($sqlstr)
 {
  $dbtype=1;
  $dbserver="arron";
  //数据库用户名,不要使用sys这个超级用户
  $dbuser="system";
  $dbpass="abcde";
  $dbname="";
  //$sqlstr="select * from func;";
  $myexpectstr=$this->dbconnect($dbtype,$dbserver,$dbuser,$dbpass,$dbname,$sqlstr);
  return $myexpectstr;
 }
}