Execute( $query ) ) ) trigger_error( 'Error executing query [' . $db->ErrorMsg() . '] Query="' . $query . '"' ); return $rs; } } // return a single row as an associative array (column_name => value) function &getRow( $query, $dsn = _DSN_ ) { $rs =& Database::query( $query, $dsn ); return $rs->FetchRow(); } // return a numerically indexed array, each entry is an associative row array (column_name => value) function &getRowArray( $query, $dsn = _DSN_ ) { $rs =& Database::query( $query, $dsn ); return $rs->GetArray(); } // return a single value function &getValue( $query, $dsn = _DSN_ ) { $db = Database::connect( $dsn ); return $db->GetOne( $query ); } // get last inserted ID (ie, for autonumber IDs) function &getLastID( $dsn = _DSN_ ) { $db = Database::connect( $dsn ); if( !( $id = $db->Insert_ID() ) ) trigger_error( 'This database does not support the Insert_ID() function for last autonumber increment.' ); return $id; } // create a key-based lookup table for this row array ($row[$key] => $row) function &getLookupTable( $key, $query, $dsn = _DSN_ ) { $rs =& Database::query( $query, $dsn ); $array = array(); while( $row = $rs->FetchRow() ) $array[ $row[$key] ] = $row; return $array; } // create a key-based single-value lookup array ($row[$key] => $row[$value]) for this row array function &getLookupArray( $key, $value, $query, $dsn = _DSN_ ) { $rs =& Database::query( $query, $dsn ); $array = array(); while( $row = $rs->FetchRow() ) $array[ $row[$key] ] = $row[$value]; return $array; } // make key="value", key="value", etc from an assoc array function &makeSets( $arr ) { $sets = array(); foreach( $arr as $key => $value ) if( isset( $value ) && $value !== '' ) $sets[] = $key . '="' . addslashes( $value ) . '"'; return implode( ', ', $sets ); } } ?>