PEAR:创建中间的数据库应用层2
function errorMessage($dbcode) 返回DB错误文本信息。 function &raiseError($code = DB_ERROR, $mode = false, $level = false,$debuginfo = false, $nativecode = false) 抛出一个错误。这个函数由DB来调用。 function setFetchMode($fetchmode) 设置缺省的fetch模式。 fetchmod有以下几种: DB_FETCHMODE_DEFAULT :使用缺省的模式 DB_FETCHMODE_ORDERED :每条记录的数据列使用数字索引,从0开始 DB_FETCHMODE_ASSOC :每条记录的数据列使用字段名索引,同查询中的字段名一致 DB_FETCHMODE_FLIPPED:如果结果集是多维的,多条记录多个字段,一般来说返回一个2维数组,第一维是记录号,标明是第几条记录,第2维的数组则使用字段名或数字索引。DB_FETCHMODE_FLIPPED则会交换这个顺序,也就是说,第一层是字段名,第2维才是记录号. function setOption($option, $value) 设置后端数据库选项。$options,$value分别是选项名和相应的值。 一般不用直接调用,在DB_Common及其子类的构建函数中会调用这个函数。 function getOption($option) 取得某个option的值 function prepare($query) 为execute()准备编译一个查询。对于某些后端数据库,这是通过仿真来实现的。返回编译后的查询句柄,出错则返回一个DB_Error对象。 function execute($stmt, $data = false) 执行编译后的查询。$stmt是由prepare返回的句柄。$data是参数数据,如果你使用的是参数查询,$data将要包含每个?参数的值 例子: <?php /** * 下面是执行一个删除查询,从文章表中将指定用户的文章记录删除 */ $sql = "delete from artilce where article.userid =$userid"; $qh = $db->prepare($sql); if(DB::isError($qh)){ return $qh; } $result = $db->execute($qh); return $result; ?> function executeEmulateQuery($stmt, $data = false) 返回一个实际的查询字符串,供仿真prepare,execute的时候使用,内部函数。如果出错,则返回DB_Error对象 function executeMultiple( $stmt, &$data ) 在同一个查询句柄上执行多个查询。$data必需是一个从0开始的数组,这个函数将 依次使用数组中的每一行数据来调用execute。这个函数一般用于参数查询。你可执行一次 查询的编译,然后将不同的参数值放入$data数组,然后就可一次同时执行查询了。需要注意,如果中间某个查询出错,剩余的查询不会继续进行而是返回错误。 function modifyQuery($query) 内部函数,用于后端数据库修正查询,后端数据库实现这个函数,然后返回进行优化和修正后查询串。例子:这是DB_mysql的实现, <?php function modifyQuery($query) { if ($this->options[''optimize''] == ''portability'') { // "DELETE FROM table" gives 0 affected rows in MySQL. &nbs |
查看所有评论
