<?php // change to wherever you stored adodb require_once("adodb/adodb.inc.php");
// set fetch mode to associative arrays $ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
// Part of the hack to get the db_fetch function to work $_gaRows = array(); $_giCount = 0;
function db_connect($oArray) { $sType = substr($oArray[2], 0, strpos($oArray[2], ":")); $oArray[2] = substr($oArray[2], strpos($oArray[2], ":") + 1); $oCon = ADONewConnection($sType); $oCon->Connect($oArray[2], $oArray[0], $oArray[1], $oArray[3]); if(!$oCon) { die($oCon->ErrorMsg()); } return $oCon; }
function db_select_db($sDatabase) { // Already taken care of in the $oCon->Connect() call }
function db_query($oCon, $sSQL) { $oRes = $oCon->Execute($sSQL); if(!$oRes) { die($oCon->ErrorMsg()); } return $oRes; }
function db_colnum($oRes) { return $oRes->FieldCount(); }
function db_columnName($oRes, $iPos) { $oField = $oRes->FetchField($iPos - 1); return $oField->name; } function db_columnType($oRes, $iPos) { $oField = $oRes->FetchField($iPos - 1); return $oField->type; }
function db_fetch($oRes) { // needed nasty hack to get it to work // adodb didnt like me calling $oRes->FetchRow() // it would never move to the next row and it would infinate loop global $_gaRows, $_giCount; if($_gaRows == array()) { $_gaRows = $oRes->GetArray(); $_giCount++; return $_gaRows[0]; } else { if($_giCount >= $oRes->RowCount()) { return false; } $_giCount++; return $_gaRows[$_giCount - 1]; } }
function db_free($oRes) { $oRes->Close(); return true; }
function db_disconnect($oCon) { $oCon->Close(); return true; } ?>
|