<?php 
 
// @ PDO Prepared MySQL Statements Class v2.0
 
// @ Developed by Takis Maletsas
 
// @ 2016 
 
class DB
 
{
 
    private $dbh = null;
 
    public function __construct($db_host = "localhost", $db_name = "database", $db_user = "root", $db_pswd = "")
 
    {
 
        $this->dbh = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pswd);
 
        $this->dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 
    }
 
    public function query()
 
    {
 
        $args = func_get_args();
 
        $sth  = $this->dbh->prepare($args[0]);
 
        for ($i = 1; $i < count($args); $i++)
 
            $sth->bindParam($i, $args[$i], $this->type($args[$i]), strlen($args[$i]));
 
        return $sth->execute();
 
    }
 
    public function fetch()
 
    {
 
        $args = func_get_args();
 
        $sth  = $this->dbh->prepare($args[0]);
 
        for ($i = 1; $i < count($args); $i++)
 
            $sth->bindParam($i, $args[$i], $this->type($args[$i]), strlen($args[$i]));
 
        $sth->execute();
 
        return $sth->fetchAll(PDO::FETCH_ASSOC);
 
    }
 
    private function type($arg)
 
    {
 
        return is_int($arg) ? PDO::PARAM_INT : (is_bool($arg) ? PDO::PARAM_BOOL : PDO::PARAM_STR);
 
    }
 
}
 
?>
 
 |