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

5年以前  |  阅读数:825 次  |  编程语言:PHP 

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;
     }
    }
 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例