1.可以对查询的结果进行缓存,减少相同的查询,可以在一定程度上提高数据库的执行效率。
2.与其他php类库专注于select语法不同,ADOdb提供了对于insert、update的全面支持,还提供了对不同数据库下日期、字符串数据类型格式的统一转换函数。
3.可以进行事务处理
二.调用AdoDB
通常情况只需要调用adodb/adodb.inc.php文件,它包含了所有数据库类库的操作方法。当然你可以只包含一个确定的数据库类库,如adodb/driver/adodb-***.inc.php
针对某些特殊形式的使用,你可能需要包含其他一些文件,如下:
adodb-session.php: 将session存入数据库中来维护运用
adodb-pager.inc.php: 便于制作分页显示效果
adodb-errorhandler.inc.php: 可以自定义错误处理讯息
adodb-pear.inc.php: 可以用 PHP4 的 PEAR DB 语法来使用ADODB
tohtml.inc.php: 可帮您在程序代码中,方便将取出的记录,转成HTML的表格(table)来显示
toexport.inc.php: 可让将数据库查询结果方便以CSV等文本数据格式输出
rsfilter.inc.php: 便于使用记录之前,做预先过滤处理
pivottable.inc.php: 可让您使用 pivot table 功能(俗称 cross-tabulations)
如下
include_once('adodb/adodb.inc.php');
或
include_once('adodb/drivers/adodb-mysql.inc.php');
或
include('adodb/adodb.inc.php');
include('adodb/toexport.inc.php'); //引入输出 CSV 格式功能
三,初始化AdoDB
在调用ADOdb类库文件之后,就可以初始化ADOdb类库,进行数据库链接了。有两种方式连接数据库,以mysql数据库为例
a.传统方式
如下:
//建立联机对象
$conn = &ADONewConnection('mysql');
$mch="localhost";
$user="root";
$pwd="pwd";
$database="test";
$conn->Connect($mch, $user, $pwd, $database);
或
$conn->PConnect($mch, $user, $pwd, $database);
b.DSN方式
ADOdb 4.51以后,引入了DSN(Data Source Name)初始化方式,即将数据库连接语句按指定格式写在一个字符串内,以此为参数来初始化连接。
如下:
$dsn = 'mysql://root:pwd@localhost/test';
$db = NewADOConnection($dsn);
或
//数据库永久连接
$dsn2 = 'mysql://root:pwd@localhost/test?persist';
四,概念
ADOdb使用中有两个基本对象
ADOConnection 和 ADORecordSet
前者是数据库的连接对象,处理与数据库连接相关的事务
后者是记录集对象,指向当前查询结果的记录集,其实它就是由ADOConnection执行查询语句返回的数据集类
Connect, PConnect, NConnect
Execute, CacheExecute
SelectLimit, CacheSelectLimit
MoveNext, Close
qstr, Affected_Rows, Insert_ID
以上是ADOdb最常用的方法,也是ADOdb类核心层方法,效率很高,使用他们时不要犹豫。
还有些常用的方法,如
$ADORecordSet->fields['FieldName']
$ADORecordSet->FetchRow()
$ADOConnection->GetOne($sql);//取返回记录集第一行的第一个字段
$ADOConnection->GetAll($sql);//返回两维数组,第一维是记录索引,第二维是记录的字段数组