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


Posted in PHP onDecember 19, 2015

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 相关文章推荐
javascript,php获取函数参数对象的代码
Feb 03 PHP
php数组(array)输出的三种形式详解
Jun 05 PHP
解析PHP工厂模式的好处
Jun 18 PHP
PHP将两个关联数组合并函数提高函数效率
Mar 18 PHP
ThinkPHP表单自动验证实例
Oct 13 PHP
php获取YouTube视频信息的方法
Feb 11 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
May 20 PHP
详解laravel安装使用Passport(Api认证)
Jul 27 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
Dec 05 PHP
详解如何实现Laravel的服务容器的方法示例
Apr 15 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
Oct 17 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
Jun 24 PHP
php实现面包屑导航例子分享
Dec 19 #PHP
php实现倒计时效果
Dec 19 #PHP
Thinkphp实现自动验证和自动完成
Dec 19 #PHP
详解WordPress中过滤链接与过滤SQL语句的方法
Dec 18 #PHP
基于ThinkPHP实现批量删除
Dec 18 #PHP
thinkphp实现163、QQ邮箱收发邮件的方法
Dec 18 #PHP
WordPress中注册菜单与调用菜单的方法详解
Dec 18 #PHP
You might like
Joomla语言翻译类Jtext用法分析
2016/05/05 PHP
php mysql 封装类实例代码
2016/09/18 PHP
php实现的读取CSV文件函数示例
2017/02/07 PHP
PHP合并数组函数array_merge用法分析
2017/02/17 PHP
php获取目录下所有文件及目录(多种方法)(推荐)
2019/05/14 PHP
php实现统计IP数及在线人数的示例代码
2020/07/22 PHP
JavaScript之编码规范 推荐
2012/05/23 Javascript
JQuery切换显示的效果实例代码
2013/02/27 Javascript
Jquery实现由下向上展开效果的例子
2014/12/08 Javascript
JS设置网页图片vspace和hspace属性的方法
2015/04/01 Javascript
jquery实现动静态条形统计图
2015/08/17 Javascript
微信小程序 教程之列表渲染
2016/10/18 Javascript
js输入框使用正则表达式校验输入内容的实例
2017/02/12 Javascript
基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)
2019/04/04 Javascript
js实现简单分页导航栏效果
2019/06/28 Javascript
Python读写Excel文件方法介绍
2014/11/22 Python
理解Python垃圾回收机制
2016/02/12 Python
Python迭代和迭代器详解
2016/11/10 Python
Python面向对象编程基础解析(二)
2017/10/26 Python
完美解决安装完tensorflow后pip无法使用的问题
2018/06/11 Python
详解pandas安装若干异常及解决方案总结
2019/01/10 Python
Django中使用 Closure Table 储存无限分级数据
2019/06/06 Python
Python Json数据文件操作原理解析
2020/05/09 Python
python中sys模块是做什么用的
2020/08/16 Python
python安装sklearn模块的方法详解
2020/11/28 Python
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
Linux常见面试题
2013/03/18 面试题
2014年党员创先争优承诺书
2014/05/29 职场文书
社会工作专业求职信
2014/07/15 职场文书
竞选学委演讲稿
2014/09/13 职场文书
2014年项目经理工作总结
2014/11/24 职场文书
2015年库房管理工作总结
2015/10/14 职场文书
JDBC连接的六步实例代码(与mysql连接)
2021/05/12 MySQL
Java实现聊天机器人完善版
2021/07/04 Java/Android
Redis集群节点通信过程/原理流程分析
2022/03/18 Redis
pandas时间序列之pd.to_datetime()的实现
2022/06/16 Python