PHP中 ADOdb 类库应用(三):参考手册(1)

[]包起来的参数为选用参数,可有可无。

共享变量

$ADODB_COUNTRECS

当本变量($ADODB_COUNTRECS)被设为 true 时,如果数据库驱动程序接口(API)不支持回传被 SELECT 指令所选取的数据笔数,那么 RecordCount() 函数将会自动仿真,并回传正确的数据笔数,默认值即为 true。仿真方式是建立一个内存暂存区来放置这些资料,因此当取回的资料笔数很大时,会占用很大量的内存。当设定本变量值为 false 时,会有最好的效能。本变量在每次执行查讯时都会自动检查,所以你可以依实际需要在每次查询前进行设定。

$ADODB_CACHE_DIR

如果你使用了资料集快取功能,那么那些快取资料都会被置放到这个变量所指定的目录里。所以当你要使用诸如 CacheExecute() 函数前,你应该要先设定好本变量。期于安全的考量,如果你要使用 $ADODB_CACHE_DIR,我们建议你将在 php.ini 里的 register_globals 设成 off

$ADODB_FETCH_MODE

这个共享变量决定了资料集以那种方式将资料传给数组。数据集在被建立时( Execute()SelectLimit())会把本变量($ADODB_FETCH_MODE)的值保存下来,而随后本变量($ADODB_FETCH_MODE)的任何改变都不会影响到现存的资料集,只有在以后资料集被建立起来时才会改变。

以下为为已定义的常数:

define(‘ADODB_FETCH_DEFAULT’,0);
define(‘ADODB_FETCH_NUM’,1);
define(‘ADODB_FETCH_ASSOC’,2);
define(‘ADODB_FETCH_BOTH’,3);

以下为一个使用的例子:

        $ADODB_FETCH_MODE = ADODB_FETCH_NUM;
         $rs1 = $db->Execute('select * from table');
         $ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
         $rs2 = $db->Execute('select * from table');
         print_r($rs1->fields); # 显示 array([0]=>'v0',[1] =>'v1')
         print_r($rs2->fields); # 显示 array(['col1']=>'v0',['col2'] =>'v1')

在本范例中,如你所见两个数据集在被Execute()建立时,会依据 $ADODB_FERCH_MODE 的值来决定储存及使用的存取模式。

如果没有任何的模式被设定,默认值则是 ADODB_FETCH_DEFAULT。呈现的模式则依据数据库驱动程序而有所不同。为了可移植性,我们建议你固定为 ADODB_FETCH_NUM ADODB_FETCH_ASSOC,因为有许多驱动程序并不支持 ADODB_FETCH_BOTH

ADOConnection

提供连结数据库,执行SQL指令以及一组准格式化的SQL相关函数等功能的对象。

ADOConnection 属性

databaseType: 要连结的数据库系统名称,如 odbc,mssql,mysql…等。详细内容请参考上表。

dataProvider: 下层的数据库结结机制,除了使用 odbc ado 外,一般正常会设为 native

host: 数据库主机名称,可用IP或来源名称(DSN)进行连结。如203.74.225.22 , dbs1.nukepro.com , “localhost” , “odbc_dsn1”

database: 数据库或连结名称,如果使用了 ado,则会控制 ado 资料提供驱动程序(ado data provider)

user: 登入时的 ID,密码则基于安全考量没有保留。

raiseErrorFn: 允许你定义一个错误处理函数,请参考 ADOdb-errorhandler.inc.php 的范例.

debug: 被设定为 true 时,会显示除错讯息。

concat_operator: 连结操作数,一般会设为 ‘+’ ‘||’。这个操作数是为了在 SQL 里连结字符串的。会在 Concat 函数中被用到。

fmtDate: 日期格式,在DBDate函数中会使用到,做为送日期资料到数据库的依据。在Access格式为‘#Y-m-d#’,在MySQL格式为“\Y-m-d\”

fmtTimeStamp: 时间格式,在 DBTimeStamp 函数中要送时间资料到数据库时会使用到。

true: 资料中真值的表现方式,如在Foxpro‘T’MS SQL‘1’

false: 资料中假值的表现方式,如在Foxpro‘F’MS SQL‘0’

replaceQuote: 这个字符串用来处理逸出符号。例如在 Microsoft SQL 里的双引号,MySQL里的反斜线符号。主要使用于 qstr

autoCommit: 设定是否激活自动交易模式,默认值为 true

charSet: 设定使用的字符集,目前只有 interbase 支持。

metaTablesSQL: 使用SQL指令,以回传一份可用的数据表清单。例如在 MySQL 里的 SHOW TABLES

genID: 如果数据库有支持的话,这里会存放由GetID()所取得的最后值。

cacheSecs: 快取资料集的秒数。用于当使用者利用 CacheExecute() CacheSeletLimit() 函数,又没有设定 $secs2cache 参数时的默认值。

sysDate: 利用数据库函数去取得目前的日期和时间。会使用到原生的日期时间标记格式。

发表评论

电子邮件地址不会被公开。 必填项已用*标注