From: Stig Bakken Date: Wed, 9 Feb 2000 19:04:17 +0000 (+0000) Subject: Added three get modes: DB_GETMODE_ORDERED, DB_GETMODE_ASSOC and X-Git-Tag: BEFORE_SAPIFICATION_FEB_10_2000~31 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=338608ab3166502782089407c16a402121aa8acd;p=php Added three get modes: DB_GETMODE_ORDERED, DB_GETMODE_ASSOC and DB_GETMODE_FLIPPED. Docs are within. --- diff --git a/pear/DB.php b/pear/DB.php index 1971d08b3e..186b95a094 100644 --- a/pear/DB.php +++ b/pear/DB.php @@ -88,6 +88,33 @@ define("DB_BINMODE_PASSTHRU", 1); define("DB_BINMODE_RETURN", 2); define("DB_BINMODE_CONVERT", 3); +// }}} +// {{{ Get modes: flags that control the layout of query result structures + +/** + * Column data indexed by numbers, ordered from 0 and up + */ +define('DB_GETMODE_ORDERED', 1); +/** + * Column data indexed by column names + */ +define('DB_GETMODE_ASSOC', 2); +/** + * For multi-dimensional results: normally the first level of arrays + * is the row number, and the second level indexed by column number or name. + * DB_GETMODE_FLIPPED switches this order, so the first level of arrays + * is the column name, and the second level the row number. + */ +define('DB_GETMODE_FLIPPED', 4); + +/** + * This constant DB's default get mode. It is possible to override by + * defining in your scripts before including DB. + */ +if (!defined('DB_GETMODE_DEFAULT')) { + define('DB_GETMODE_DEFAULT', DB_GETMODE_ORDERED); +} + // }}} /** @@ -395,8 +422,8 @@ class DB_result { * Fetch and return a row of data. * @return array a row of data, or false on error */ - function fetchRow() { - return $this->dbh->fetchRow($this->result); + function fetchRow($getmode = DB_GETMODE_DEFAULT) { + return $this->dbh->fetchRow($this->result, $getmode); } // }}} @@ -408,8 +435,8 @@ class DB_result { * @param $arr reference to data array * @return int error code */ - function fetchInto(&$arr) { - return $this->dbh->fetchInto($this->result, &$arr); + function fetchInto(&$arr, $getmode = DB_GETMODE_DEFAULT) { + return $this->dbh->fetchInto($this->result, &$arr, $getmode); } // }}}