PDO DataConnection

class pdodb{
    var $conn;
    private $host;
    private $user;
    private $pass;
    private $dbname;

    var $last_query;

    function __construct(){
        $this->host=DB_SERVER;
        $this->user=DB_USERNAME;
        $this->pass=DB_PASSWORD;
        $this->dbname=DB_SCHEMA;
        $this->connect();
    }

    function connect(){
        $dsn='mysql:host='.$this->host.';dbname='.$this->dbname;
        try{
            $this->conn=new PDO($dsn,$this->user,$this->pass);

        }catch(PDOException $e){
            echo $e->getMessage();
            exit;
        }
        return true;
    }
    function select($sql){
        $this->last_query=$sql;
        $r=$this->conn->prepare($sql);
        $r->execute();
        return $r;
    }
    function getResults($sql){
         $result=$this->select($sql);
         $data=$this->getRows($result);
         if(!data){
             return 404;
         }
         return $data;
    }

    function getResult($sql){
        $result=$this->select($sql);
        $data=$this->getRow($result);
        //echo $data;exit;
        if($data==''){
            return 404;
        }
        return $data;
    }
    function getRow($result){
        $row = $result->fetch(PDO::FETCH_ASSOC);
        return $row;
    }
    function getRows($result){
        $rows=$result->fetchAll(PDO::FETCH_ASSOC);
        return $rows;
    }
    function insertByArray($table, $data){
        //pr($data);exit;
        $cols = '(' . implode(", ", array_keys($data)) . ')';
        //pr($cols);exit;
        $new_data = array();
        foreach ($data as $key => $value) {     // iterate values to input
            $k = ":$key";
            $new_data[$k] = $value;
        }
        $values = '(' . implode(", ", array_keys($new_data)) . ')';
        $sql = "INSERT INTO $table $cols VALUES $values";
        return $this->insertRow($sql, $new_data);
    }
    function insertRow($sql,$data){
        $this->last_query = $sql;
        $this->table_data = $data;

        try {
            $r = $this->conn->prepare($sql);
            $r->execute($data);
        } catch (PDOException $e) {
            $this->last_error = $e->getMessage();
            $this->printLastError();
            return false;
        }
        $this->last_insert_id = $this->conn->lastInsertId();
        return $this->last_insert_id;
    }
    function updateByArray($table, $data, $condition){
       $new_data = array();
       $sql = "UPDATE $table SET";
        foreach ($data as $key => $value) {     // iterate values to input
            $k = ":$key";
            $new_data[$k] = $value;
            $sql .= " $key=:$key,";
            //$sql .= ":$key,";
        }
        //echo $sql;exit;
        $sql = rtrim($sql, ','); // strip off last "extra" comma
        if (!empty($condition)) $sql .= " WHERE $condition";

        return $this->updateRow($sql, $new_data);
    }
    function updateRow($sql,$data){
        $r = $this->conn->prepare($sql);
        $r->execute($data);
        $rows = $r->rowCount();
        return $rows;
    }
}
?>

Comments

Popular posts from this blog

Laravel Knowledge

Krishiv Poems Link