function &CacheGetArray($secs2cache, $sql = false, $inputarr = false) { global $ADODB_COUNTRECS; $savec = $ADODB_COUNTRECS; $ADODB_COUNTRECS = false; $rs =& $this->CacheExecute($secs2cache, $sql, $inputarr); $ADODB_COUNTRECS = $savec; if (!$rs) { if (defined('ADODB_PEAR')) { $cls = ADODB_PEAR_Error(); return $cls; } else { $false = false; return $false; } } $arr =& $rs->GetArray(); $rs->Close(); return $arr; }
/** * Create a new DB object and connect to the specified database * * @param $dsn mixed "data source name", see the DB::parseDSN * method for a description of the dsn format. Can also be * specified as an array of the format returned by DB::parseDSN. * * @param $options mixed if boolean (or scalar), tells whether * this connection should be persistent (for backends that support * this). This parameter can also be an array of options, see * DB_common::setOption for more information on connection * options. * * @return object a newly created DB connection object, or a DB * error object on error * * @see DB::parseDSN * @see DB::isError */ function connect($dsn, $options = false) { if (is_array($dsn)) { $dsninfo = $dsn; } else { $dsninfo = DB::parseDSN($dsn); } switch ($dsninfo["phptype"]) { case 'pgsql': $type = 'postgres7'; break; case 'ifx': $type = 'informix9'; break; default: $type = $dsninfo["phptype"]; break; } if (is_array($options) && isset($options["debug"]) && $options["debug"] >= 2) { // expose php errors with sufficient debug level @(include_once "adodb-{$type}.inc.php"); } else { @(include_once "adodb-{$type}.inc.php"); } @($obj = NewADOConnection($type)); if (!is_object($obj)) { $obj = new PEAR_Error('Unknown Database Driver: ' . $dsninfo['phptype'], -1); return $obj; } if (is_array($options)) { foreach ($options as $k => $v) { switch (strtolower($k)) { case 'persist': case 'persistent': $persist = $v; break; #ibase #ibase case 'dialect': $obj->dialect = $v; break; case 'charset': $obj->charset = $v; break; case 'buffers': $obj->buffers = $v; break; #ado #ado case 'charpage': $obj->charPage = $v; break; #mysql #mysql case 'clientflags': $obj->clientFlags = $v; break; } } } else { $persist = false; } if (isset($dsninfo['socket'])) { $dsninfo['hostspec'] .= ':' . $dsninfo['socket']; } else { if (isset($dsninfo['port'])) { $dsninfo['hostspec'] .= ':' . $dsninfo['port']; } } if ($persist) { $ok = $obj->PConnect($dsninfo['hostspec'], $dsninfo['username'], $dsninfo['password'], $dsninfo['database']); } else { $ok = $obj->Connect($dsninfo['hostspec'], $dsninfo['username'], $dsninfo['password'], $dsninfo['database']); } if (!$ok) { $obj = ADODB_PEAR_Error(); } return $obj; }
/** * Return all rows. Compat with PEAR DB * * @param sql SQL statement * @param [inputarr] input bind array */ function &GetAll($sql, $inputarr = false) { $rs = $this->Execute($sql, $inputarr); if (!$rs) { if (defined('ADODB_PEAR')) { return ADODB_PEAR_Error(); } else { return false; } } return $rs->GetArray(); }
function CacheGetAll($secs2cache, $sql = false, $inputarr = false) { $rs = $this->CacheExecute($secs2cache, $sql, $inputarr); if (!$rs) { if (defined('ADODB_PEAR')) { return ADODB_PEAR_Error(); } else { return false; } } $arr = $rs->GetArray(); $rs->Close(); return $arr; }
/** * Create a new DB object and connect to the specified database * * @param $dsn mixed "data source name", see the DB::parseDSN * method for a description of the dsn format. Can also be * specified as an array of the format returned by DB::parseDSN. * * @param $options mixed if boolean (or scalar), tells whether * this connection should be persistent (for backends that support * this). This parameter can also be an array of options, see * DB_common::setOption for more information on connection * options. * * @return object a newly created DB connection object, or a DB * error object on error * * @see DB::parseDSN * @see DB::isError */ function &connect($dsn, $options = false) { if (is_array($dsn)) { $dsninfo = $dsn; } else { $dsninfo = DB::parseDSN($dsn); } switch ($dsninfo["phptype"]) { case 'pgsql': $type = 'postgres7'; break; default: $type = $dsninfo["phptype"]; break; } if (is_array($options) && isset($options["debug"]) && $options["debug"] >= 2) { // expose php errors with sufficient debug level @(include_once "adodb-{$type}.inc.php"); } else { @(include_once "adodb-{$type}.inc.php"); } @($obj =& NewADOConnection($type)); if (!is_object($obj)) { return new PEAR_Error('Unknown Database Driver: ' . $dsninfo['phptype'], -1); } if (is_array($options)) { $persist = !empty($options['persistent']); } else { $persist = true; } if ($persist) { $ok = $obj->PConnect($dsninfo['hostspec'], $dsninfo['username'], $dsninfo['password'], $dsninfo['database']); } else { $ok = $obj->Connect($dsninfo['hostspec'], $dsninfo['username'], $dsninfo['password'], $dsninfo['database']); } if (!$ok) { return ADODB_PEAR_Error(); } return $obj; }