reenadak

Database pdo class for php

May 12th, 2018
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.96 KB | None | 0 0
  1. <?php
  2.  
  3. // Uncomment line to check for debug, if issue with extention.
  4. // echo defined('PDO::ATTR_DRIVER_NAME') ? "PDO loaded" : "PDO unavailable";
  5.  
  6. class Database{
  7.     public $isConn;
  8.     protected $datab;
  9.    
  10.     // connection to db
  11.     public function __construct($username = "*****", $password = "*****", $host = "localhost", $dbname = "mukeshdak", $options = [])
  12.     {
  13.         // by default assume successful connection.
  14.         $this->isConn = TRUE;
  15.  
  16.         try {
  17.             $this->datab = new PDO("mysql:host={$host};dbname={$dbname};charset=utf8", $username, $password, $options);
  18.             $this->datab->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  19.             $this->datab->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
  20.         }
  21.         catch (PDOException $e)
  22.         {
  23.             throw new Exception($e->getMessage());
  24.         }        
  25.     }
  26.    
  27.     // disconnect from db
  28.     public function Disconnect()
  29.     {
  30.         $this->datab = NULL;
  31.         $this->isConn = FALSE;
  32.     }
  33.  
  34.     // get row
  35.     public function getRow($query, $params = [])
  36.     {
  37.         try {
  38.             $stmt = $this->datab->prepare($query);
  39.             $stmt->execute($params);
  40.             return $stmt->fetch();
  41.         } catch (PDOException $e) {
  42.             throw new Exception($e->getMessage());
  43.         }
  44.     }
  45.  
  46.     // get rows
  47.     public function getRows($query, $params = [])
  48.     {
  49.         try {
  50.             $stmt = $this->datab->prepare($query);
  51.             $stmt->execute($params);
  52.             return $stmt->fetchAll();
  53.         } catch (PDOException $e) {
  54.             throw new Exception($e->getMessage());
  55.         }
  56.     }
  57.  
  58.     // insert row
  59.     public function insertRow($query, $params = [])
  60.     {
  61.         try {
  62.             $stmt = $this->datab->prepare($query);
  63.             $stmt->execute($params);
  64.             return TRUE;
  65.         } catch (PDOException $e) {
  66.             throw new Exception($e->getMessage());
  67.         }
  68.     }
  69.  
  70.     // update row
  71.     public function updateRow($query, $params = [])
  72.     {
  73.         $this->insertRow($query, $params);
  74.     }
  75.  
  76.     // delete row
  77.     public function deleteRow($query, $params = [])
  78.     {
  79.         $this->insertRow($query, $params);
  80.     }
  81.  
  82.     public function die_r($value)
  83.     {
  84.         echo "<pre>";
  85.         print_r($value);
  86.         echo "</pre>";
  87.         die();
  88.     }
  89. }
  90.  
  91. $db = new Database;
  92.  
  93. $row = $db->getrow("SELECT * from boiler WHERE id=?", ["4"]);
  94. $db->die_r($row);
  95.  
  96. // other example uses.
  97.  
  98. // $getRow = $db->getRow("SELECT * FROM users WHERE username = ?", ["admin"]);
  99. // $getRows = $db->getRows("SELECT * FROM users");
  100. // $insertRow = $db->insertRow("INSERT INTO users(username, password, email) VALUE(?, ?, ?)", ["Arthur", "102030", "arthur@localhost"]);
  101. // $updateRow = $db->updateRow("UPDATE users SET username = ?, password = ? WHERE id = ?", ["ArthurMann", "a123456", "7"]);
  102. // $deleteRow = $db->deleteRow("DELETE FROM users WHERE id = ?", [8]);
  103.  
  104. // $db->Disconnect();
  105.  
  106. ?>
Advertisement
Add Comment
Please, Sign In to add comment