Advertisement
Guest User

database

a guest
Oct 8th, 2016
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.06 KB | None | 0 0
  1. <?php
  2. class Database {
  3.    
  4.     private $host;
  5.     private $username;
  6.     private $password;
  7.     private $database;
  8.     private $con;
  9.    
  10.     /**
  11.      * @param String $host
  12.      * @param String $user
  13.      * @param String $pass
  14.      * @param String $db
  15.      * @param String $table
  16.      */
  17.     public function __construct($host, $user, $pass, $db) {
  18.         $this->host     = $host;
  19.         $this->username = $user;
  20.         $this->password = $pass;
  21.         $this->database = $db;
  22.     }
  23.    
  24.     public function connect() {
  25.         try {
  26.             $this->con = new PDO('mysql:host='.$this->host.';dbname='.$this->database.';charset=utf8', $this->username, $this->password);
  27.             $this->con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
  28.             $this->con->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
  29.             return true;
  30.         } catch (Exception $e) {
  31.             echo 'Invalid database credentials!';
  32.             return false;
  33.         }
  34.     }
  35.    
  36.     public function getProducts($cat) {
  37.         $stmt = $this->con->prepare("SELECT * FROM products WHERE category=:cat");
  38.         $stmt->execute(array("cat" => $cat));
  39.         return $stmt->fetchAll(PDO::FETCH_ASSOC);
  40.     }
  41.    
  42.     public function getAllProducts() {
  43.         $stmt = $this->con->prepare("SELECT * FROM products");
  44.         $stmt->execute();
  45.         return $stmt->fetchAll(PDO::FETCH_ASSOC);
  46.     }
  47.    
  48.     public function getProduct($item_id) {
  49.         $stmt = $this->con->prepare("SELECT * FROM products WHERE item_id=:id");
  50.         $stmt->execute(array("id" => $item_id));
  51.         return $stmt->fetch(PDO::FETCH_ASSOC);
  52.     }
  53.    
  54.     public function deleteProduct($item_id) {
  55.         $stmt = $this->con->prepare("DELETE FROM products WHERE item_id=:id");
  56.         $stmt->execute(array("id" => $item_id));
  57.     }
  58.  
  59.     public function deleteCategory($cid) {
  60.         $stmt = $this->con->prepare("DELETE FROM categories WHERE cid=:cid");
  61.         $stmt->bindParam(":cid", $cid);
  62.         $stmt->execute();
  63.     }
  64.  
  65.     public function getCategories() {
  66.         $stmt = $this->con->prepare("SELECT * FROM categories ORDER BY zindex ASC");
  67.         $stmt->execute();
  68.         return $stmt->fetchAll(PDO::FETCH_ASSOC);
  69.     }
  70.     public function getCategory($id) {
  71.         $stmt = $this->con->prepare("SELECT * FROM categories WHERE cid=:id LIMIT 1");
  72.         $stmt->bindParam(":id", $id);
  73.         $stmt->execute();
  74.         return $stmt->fetch(PDO::FETCH_ASSOC);
  75.     }
  76.    
  77.     public function addPayment($item_name, $item_number, $status, $amount, $quantity, $currency, $buyer, $receiver, $playername) {
  78.         $stmt = $this->con->prepare("INSERT INTO payments (item_name, item_number, status, amount, quantity, currency, buyer, receiver, player_name) VALUES (:item_name, :item_number, :status, :amount, :quantity, :currency, :buyer, :receiver, :playername)");
  79.         $stmt->bindParam(":item_name", $item_name);
  80.         $stmt->bindParam(":item_number", $item_number);
  81.         $stmt->bindParam(":status", $status);
  82.         $stmt->bindParam(":amount", $amount);
  83.         $stmt->bindParam(":quantity", $quantity);
  84.         $stmt->bindParam(":currency", $currency);
  85.         $stmt->bindParam(":buyer", $buyer);
  86.         $stmt->bindParam(":receiver", $receiver);
  87.         $stmt->bindParam(":playername", $playername);
  88.         $stmt->execute();
  89.     }
  90.  
  91.     public function addHash($hash) {
  92.         $stmt = $this->con->prepare("INSERT INTO used_hashes (hash) VALUES(:hash)");
  93.         $stmt->bindParam(":hash", $hash);
  94.         $stmt->execute();
  95.     }
  96.  
  97.     public function getHash($hash) {
  98.         $stmt = $this->con->prepare("SELECT * FROM used_hashes WHERE hash=:hash");
  99.         $stmt->bindParam(":hash", $hash);
  100.         $stmt->execute();
  101.         return $stmt->fetch(PDO::FETCH_ASSOC);
  102.     }
  103.  
  104.     public function getAllPayments() {
  105.         $stmt = $this->con->prepare("SELECT * FROM payments ORDER BY dateline DESC LIMIT 50");
  106.         $stmt->execute();
  107.         return $stmt->fetchAll(PDO::FETCH_ASSOC);
  108.     }
  109.  
  110.     public function getPayments($username) {
  111.         $stmt = $this->con->prepare("SELECT * FROM payments WHERE player_name=:name AND claimed=0 AND status='Completed'");
  112.         $stmt->bindParam(":name", $username);
  113.         $stmt->execute();
  114.         return $stmt->fetchAll(PDO::FETCH_ASSOC);
  115.     }
  116.    
  117.     public function setClaimed($id) {
  118.         $stmt = $this->con->prepare("UPDATE payments SET claimed=1 WHERE id=:id");
  119.         $stmt->bindParam(":id", $id);
  120.         $stmt->execute();
  121.         return $stmt->fetchAll(PDO::FETCH_ASSOC);
  122.     }
  123.  
  124.     public function countProductsInCat($cat) {
  125.         $stmt = $this->con->prepare("SELECT COUNT(*) FROM products WHERE category=:cat");
  126.         $stmt->execute(array("cat" => $cat));
  127.         return $stmt->fetchColumn();
  128.     }
  129.  
  130.     public function insert($table, $vars) {
  131.         $keys = array_keys($vars);
  132.         $query = "INSERT INTO $table (";
  133.         for ($i = 0; $i < count($keys); $i++) {
  134.             $query .= ''.$keys[$i].($i < count($keys) - 1 ? ", " : ") VALUES (");
  135.         }
  136.         for ($i = 0; $i < count($keys); $i++) {
  137.             $query .= ':'.$keys[$i].($i < count($keys) - 1 ? ", " : ")");
  138.         }
  139.         $stmt = $this->con->prepare($query);
  140.         $stmt->execute($vars);
  141.     }
  142.  
  143.     public function update($table, $key, $vars) {
  144.         $keys = array_keys($vars);
  145.         $query = "UPDATE $table SET ";
  146.         for ($i = 0; $i < count($keys); $i++) {
  147.              $query .= "".$keys[$i]."=:".$keys[$i]."".($i < count($keys) - 1 ? ", " : "");
  148.         }
  149.         $query .= " WHERE item_id=$key";
  150.         $stmt = $this->con->prepare($query);
  151.         $stmt->execute($vars);
  152.     }
  153. }
  154. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement