<?php
class DB_Handler {
var $result;
var $DBConn;
var $stmt;
var $empty_res;
function DB_Handler($username,$password,$dbname){
$this->DBConn = @OCILogon($username,$password,$dbname);
}
function DBCheckConn(){
$flag = false;
if($this->DBConn == null){
$flag = false;
}else{
$flag=true;
}
return $flag;
}
function DBParse($query){
$this->stmt = OCIParse($this->DBConn, $query);
$errorArr = OCIError($this->stmt);
if ($errorArr['code']) {
print $errorArr['message'];
exit;
}
}
function DBExecute($var_arr){
$size = count($var_arr);
$f = "";
if ($size>0){
for ($i=1;$i<=$size; $i++){
$f = ":$i";
if(!is_numeric($var_arr[$i])){
$var_arr[$i] =
preg_replace("/\\\+/","",$var_arr[$i]);
}
OCIBindByName($this->stmt, $f,$var_arr[$i],-1);
}
}
OCIExecute($this->stmt,OCI_DEFAULT);
$errorArr = OCIError($this->stmt);
if ($errorArr['code']) {
print $errorArr['message'];
exit;
}
}
function DBFetchall(){
$output=array();
$rows =OCIFetchStatement($this->stmt, $resultArr);
$cols = 0;
while (each($resultArr)){
$cols = $cols +1;
}
for ($i=0;$i<$rows;$i++){
reset($resultArr);
unset($one_row);
while ($column = each($resultArr)){
$data = $column['value'];
$one_row[] = $data[$i];
}
$output[$i] = $one_row;
}
return $output;
}
function DBFetchone($two_dim_rs){
$result = "";
if($two_dim_rs){
foreach($two_dim_rs as $x){
if($x){
$result = $x;
break;
}
}
}
return $result;
}
function DBCommit(){
if(OCICommit($this->DBConn)){
$success = true;
}else{
$success = false;
OCIRollBack($this->DBConn);
}
return $success;
}
function DBFree(){
OCILogOff($this->DBConn);
}
}
class MySql_Handler {
var $result;
var $DBConn;
var $stmt;
var $empty_res;
var $ret_result;
var $row_count;
var $sel_query;
function MySql_Handler($username,$password,$host, $dbname){
$this->DBConn = mysql_connect($host, $username,$password);
mysql_select_db($dbname, $this->DBConn);
}
function DBFree(){
mysql_close($this->DBConn);
}
function DBCheckConn(){
$flag = false;
if($this->DBConn == null){
$flag = false;
}else{
$flag=true;
}
return $flag;
}
function DBParse($query){
$this->stmt = trim($query);
if(!strcmp("select",strtolower(substr($this->stmt,0,6))) ){
$this->sel_query = TRUE;
}else{
$this->sel_query = FALSE;
}
}
function DBExecute(){
$this->ret_result=null;
$this->result = mysql_query($this->stmt) or
die("Invalid query: " . mysql_error()) ;
if($this->sel_query){
$this->row_count = mysql_num_rows($this->result);
}
}
function DBFetchall(){
if(($this->ret_result==null) && ($this->row_count!=0)){
$this->ret_result=array();
$i = 0;
while ($line = mysql_fetch_array($this->result, MYSQL_BOTH)) {
$this->ret_result [$i] = $line;
$i++;
}
return $this->ret_result;
}else{
return -1;
}
}
function DBFetchone(){
if(($this->ret_result==null) && ($this->row_count!=0)){
$this->ret_result=array();
$i = 0;
while ($line = mysql_fetch_array($this->result, MYSQL_BOTH)) {
$this->ret_result [$i] = $line;
$i++;
}
return $this->ret_result[0];
} else{
return -1;
}
}
function DBRowCount(){
return $this->row_count;
}
function DBBegin(){
mysql_query("BEGIN",$this->DBConn);
}
function DBCommit(){
mysql_query("COMMIT",$this->DBConn);
$success =1;
return $success;
}
function DBRollBack(){
mysql_query("ROLLBACK",$this->DBConn);
}
}
?>
|