日期:2011-12-18  浏览次数:20664 次

  在PHP网站开发中,针对数据库平台移植性的解决方案,之前介绍过PEAR DB类安装使用的PHP教程,其实使用PHP ADOdb类库也是一种很好的解决方案,其支持的数据库引擎更多。

  作为PHP ADOdb使用手册开篇文章,主要介绍使用PHP ADOdb类库具有哪些优点,PHP ADOdb类库的基本安装使用方法,以及使用PHP ADOdb建立Mysql数据库连接的几种方法。

使用PHP ADOdb的优点

  1、与PHP结合好,速度快

  2、扩展性好,对于windows平台的程序员来说易于掌握,因为和Microsoft’s ADO的类库比较类似

  3、使用起来容易上手

  4、每个版本都是在Access, MySQL, PostgreSQL, MS SQL, Oracle 11g上独立测试,质量保证,支持多种数据库。

  5、PHP4版本支持使用PHP ADOdb类库来存储session变量,便于扩展和移植

PHP ADOdb类库的相关文件说明

  Adodb.inc.php为主要文件,使用adodb类时,只要include这个文件即可

  Adodb-*.inc.php是特定的数据库驱动程序代码

  Test.php包含测试adodb类库的测试数据库列表,在tests目录下

  Adodb-session.php是PHP4中的session 处理代码

  Testdatabases.inc.php包含应用于测试的数据库列表,被Test.php include

  tute.htm是PHP ADOdbadodb类英文版使用教程。

PHP ADOdb类库的基本安装使用方法

  1、首先需要下载PHP ADOdb类库,当前ADOdb类库版本为ADOdb5

  adodb类库下载地址

  2、开始PHP ADOdb类库安装

  PHP ADOdb类库安装主要有两种方式,一种是包含完整的源代码,另一种最小化安装方式。

  首先确保运行的PHP版本在4.0.5以上,然后解压缩PHP ADOdb类库文件至web服务器的相关目录,PHP ADOdb类库安装就完成了。查看PHP运行环境配置教程

  PHP ADOdb类库最小化安装方式

  在最小化安装PHP ADOdb类库时必须包含以下文件

  adodb.inc.php

  adodb-lib.inc.php

  adodb-time.inc.php

  drivers/adodb-$database.inc.php

  license.txt

  adodb-php4.inc.php

  adodb-iterator.inc.php

  安装可选项:

  adodb-error.inc.php and lang/adodb-$lang.inc.php (可使用MetaError())

  adodb-csvlib.inc.php (如果你打算使用缓存记录,需要用到CacheExecute()等)

  adodb-exceptions.inc.php 和 adodb-errorhandler.inc.php (如果你使用adodb处理错误或者PHP5中的错误异常).

  adodb-active-record.inc.php (Active Records 号称可以将数据库中的表和记录与本地的PHP对象独立开来,让程序员将更多的精力集中在数据处理上,而不是SQL语句,MVC的味道,呵呵)。

  在完成PHP ADOdb类库的安装工作后,我们开始PHP ADOdb类库的使用之旅。

PHP ADOdb使用之Mysql数据库连接建立方法

  PHP ADOdb类库支持多种类型的数据库,本教程首先介绍最基本的使用PHP ADOdb类库与Mysql数据库建立连接(connect)的方法,与PEAR DB类库类似,PHP ADOdb类库建立Mysql数据库连接(connect)也有两种方法,一种使用ADONewConnection和Connect函数建立连接,一种使用DSN建立连接。如何使用PEAR DB类?

使用PHP ADOdb建立Mysql连接方法一

1
2
3
4
5
6
7
8
9
10
11
<?
  include('adodb5/adodb.inc.php');
  $dbdriver = 'mysql';
  $db = ADONewConnection($dbdriver);
  $db->debug = true;//调试,显示具体的SQL语句
  $db->Connect('localhost', 'root', '123456', 'test');
  $rs = $db->Execute('select * from leapsoul');