<?php abstract class HRDB { //abstract only as a demonstration function connect() { global $db; if (!$db = @oci_pconnect('hr', 'hr', 'orcl11')) { print "<pre>"; print_r(oci_error()); print "</pre>"; exit; } } function db_select($sql, $bp) { global $db; if (!$db) {$this->connect();} $q = oci_parse($db, $sql); foreach ($bp as $param => $value) { oci_bind_by_name($q, $param, $value, 32 ); } $r = oci_execute($q, OCI_DEFAULT); $rows = oci_fetch_array($q, OCI_ASSOC); return $rows; } function db_insert($sql, $bp) { global $db; if (!$db) {$this->connect();} $q = oci_parse($db, $sql); foreach ($bp as $param => $value) { oci_bind_by_name($q, "p_$param", $value, 32 ); } oci_bind_by_name($q, ":ret_id", $rowid, 32); $r = oci_execute($q, OCI_DEFAULT); return $rowid; } function dump() { print_r($this); } } ?>