Advertisement
Guest User

Untitled

a guest
Jan 13th, 2017
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.57 KB | None | 0 0
  1. <?php
  2. namespace App;
  3. use \PDO;
  4.  
  5. class Database
  6. {
  7.    
  8.     private $db_name;
  9.     private $db_user;
  10.     private $db_pass;
  11.     private $db_host;
  12.     private $pdo;
  13.    
  14.     public function __construct($db_name, $db_user = 'root', $db_pass = '', $db_host = 'localhost')
  15.     {
  16.         $this->db_name = $db_name;
  17.         $this->db_user = $db_user;
  18.         $this->db_pass = $db_pass;
  19.         $this->db_host = $db_host;
  20.        
  21.     }
  22.    
  23.     private function getPDO()
  24.     {
  25.         if($this->pdo === null)
  26.         {
  27.             $pdo = new PDO('mysql:dbname=coursphp;host=localhost', 'root', 'khuM12a58Z');
  28.             $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  29.             $this->pdo = $pdo;
  30.         }
  31.         return $pdo;
  32.     }
  33.    
  34.     public function query($statement, $class_name, $one = false)
  35.     {
  36.         $req = $this->getPDO()->query($statement);
  37.         $req->setFetchMode(PDO::FETCH_CLASS, $class_name);
  38.         if($one)
  39.         {
  40.             $datas = $req->fetch();
  41.         }
  42.         else
  43.         {
  44.             $datas = $req->fetchAll();
  45.         }
  46.         return $datas;
  47.     }
  48.    
  49.     public function prepare($statement, $attributes, $class_name, $one = false)
  50.     {
  51.         $req = $this->getPDO()->prepare($statement);
  52.         $req->execute($attributes);
  53.         $req->setFetchMode(PDO::FETCH_CLASS, $class_name);
  54.        
  55.         if($one)
  56.         {
  57.             $datas = $req->fetch();
  58.         } else
  59.         {
  60.             $datas = $req->fetchAll();
  61.         }
  62.        
  63.         return $datas;
  64.        
  65.     }
  66.    
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement