Your IP : 216.73.216.91


Current Path : /var/www/html/tax/api/base/
Upload File :
Current File : /var/www/html/tax/api/base/pdocrudhandler.php

<?php
//auto loading classes using spl autoload register
//require_once('../autoload.php');
class pdocrudhandler extends dbconnect{
    public  $_pdo;
    public function __construct(){
        // connecting db
        $this->_pdo = $this->connect();
    }
    public function insert($table,$fieldArr = array(), $debug = false){
        $_responseArr = [];
        $table = strtolower($table);
        try {
            $qry = '';
            $qry .= "insert into ".$table." (";
            $keys = array_keys($fieldArr);
            $values = array();
            for($i=0;$i<count($keys);$i++){
                ($i != count($keys)-1) ? $qry .= $keys[$i]." ," : $qry .= $keys[$i];
                $values[] = $fieldArr[$keys[$i]];
            }
            $qry .= ") values (";
            for($i=0;$i<count($keys);$i++){
                ($i != count($keys)-1) ? $qry .= "?, " : $qry .= "?";
            }
            $qry .= ")";
            if($debug == true){
                echo $qry; print_r($values);exit();
            }
            $stmt = $this->_pdo->prepare($qry);
            $stmt->execute($values);
            if($stmt){
                $_responseArr['status'] = 'success';
                $_responseArr['rowsAffected'] = $stmt->rowCount();
                $_responseArr['lastInsertedId'] = $this->_pdo->lastInsertId();
            }
        }catch(PDOException $e){
            echo "Connection failed: " . $e->getMessage();
            $_responseArr['status'] = 'failure'.$e->getMessage();
        }
        return $_responseArr;
    }
    public function delete($table,$whereClause,$whereClasueValArr = array()){
        $_responseArr = [];
        $table = strtolower($table);
        try{
            $qry = "delete from ".$table." ";
            $qry .= $whereClause;
            $stmt = $this->_pdo->prepare($qry);
            $stmt->execute($whereClasueValArr);
            if($stmt){
                $_responseArr['status'] = 'success';
                $_responseArr['rowsAffected'] = $stmt->rowCount();
            }
        }catch (PDOException $e){
            echo "Connection failed: " . $e->getMessage();
            $_responseArr['status'] = 'failure'.$e->getMessage();
        }
        return $_responseArr;
    }
    public function update($table,$fieldArr,$whereClause = '',$whereClasueValArr = array(), $debug = false){
        $_responseArr = [];
        $table = strtolower($table);
        $qry = "update ".$table." set ";
        $keys = array_keys($fieldArr);
        $values = array();
        for($i=0;$i<count($keys);$i++){
            ($i != count($keys)-1) ? $qry .= $keys[$i]." = ?," : $qry .= $keys[$i]." = ?";
            $values[] = $fieldArr[$keys[$i]];
        }
        for($i=0;$i<count($whereClasueValArr);$i++){
            $values[] = $whereClasueValArr[$i];
        }
        $qry .= " ".$whereClause;
        if($debug == true){
            echo $qry; exit();
        }
        try{
            $stmt = $this->_pdo->prepare($qry);
            $stmt->execute($values);
            if($stmt){
                $_responseArr['status'] = 'success';
                $_responseArr['rowsAffected'] = $stmt->rowCount();
            }
        }catch (PDOException $e){
            echo "Connection failed: " . $e->getMessage();
            $_responseArr['status'] = 'failure'.$e->getMessage();
        }
        return $_responseArr;
    }
    public function select($table,$colArr = array() ,$whereClause = '',$whereClauseArr = array(), $debug = false){
        $_responseArr = [];
        $table = strtolower($table);
        try{
            $qry = '';
            if(empty($colArr) && $whereClause == '' && empty($whereClauseArr)){
                $qry = "select * from ".$table;
            }else if(!empty($colArr) && $whereClause == ''){
                $qry = "select ";
                for($i=0;$i<count($colArr);$i++){
                    ($i != count($colArr)-1) ? $qry .= $colArr[$i].", " : $qry .= $colArr[$i];
                }
                $qry .= " from ".$table;
            }else if($whereClause != '' && empty($colArr)){
                $qry = "select * from ".$table." ".$whereClause;
            }else if(!empty($colArr) && $whereClause != ''){
                $qry = "select ";
                for($i=0;$i<count($colArr);$i++){
                    ($i != count($colArr)-1) ? $qry .= $colArr[$i].", " : $qry .= $colArr[$i];
                }
                $qry .= " from ".$table." ".$whereClause;
            }
            if($debug == true){
                echo $qry; exit();
            }
            $stmt = $this->_pdo->prepare($qry);
            $stmt->setFetchMode(PDO::FETCH_OBJ);
            ($whereClause == '') ? $stmt->execute() : $stmt->execute($whereClauseArr);
            $tempRes = $stmt->fetchAll();
            $result = $tempRes;
            $_responseArr['status'] = 'success';
            $_responseArr['rowsAffected'] = $stmt->rowCount();
            $_responseArr['result'] = $result;
        }catch (PDOException $e){
            echo "Connection failed: " . $e->getMessage();
            $_responseArr['status'] = 'failure'.$e->getMessage();
        }
        return $_responseArr;
    }
    public function customSelect($qry,$values = array()){
        $_responseArr = [];
        try{
            $stmt = $this->_pdo->prepare($qry);
            $stmt->setFetchMode(PDO::FETCH_OBJ);
            $stmt->execute($values);
            $tempRes = $stmt->fetchAll();
            if(count($tempRes) != 0){
                $result =  $tempRes;
            }else{
                $result = "null";
            }
            $_responseArr['status'] = 'success';
            $_responseArr['rowsAffected'] = $stmt->rowCount();
            $_responseArr['result'] = $result;
        }catch (PDOException $e){
            echo "Connection failed: " . $e->getMessage();
            $_responseArr['status'] = 'failure'.$e->getMessage();
        }
        return $_responseArr;
    }
    public function truncate($table){
        $_responseArr = [];
        $table = strtolower($table);
        try{
            $stmt = "truncate ".$table;
            $this->_pdo->exec($stmt);
            $_responseArr['status'] = 'success';
        }catch (PDOException $e){
            echo "Connection failed: " . $e->getMessage();
            $_responseArr['status'] = 'failure'.$e->getMessage();
        }
        return $_responseArr;
    }
    public  function executeqry($stmt){
        $_responseArr = [];
        try{
            $this->_pdo->exec($stmt);
            $_responseArr['status'] = 'success';
        }catch (PDOException $e){
            echo "Connection failed: " . $e->getMessage();
            $_responseArr['status'] = 'failure'.$e->getMessage();
        }
        return $_responseArr;
    }
}
?>