| Current Path : /var/www/html/tax/api/base/ |
| 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;
}
}
?>