Advertisement
Guest User

Untitled

a guest
Aug 21st, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.64 KB | None | 0 0
  1. <?php
  2. class Database {
  3.     private $host   = "localhost";
  4.     private $user   = "root";
  5.     private $pass   = "123456";
  6.     private $dbname = "test";
  7.     private $db;
  8.     private $error;
  9.     private $stmt;
  10.     public function __construct() {
  11.         $dsn     = 'mysql:host=' . $this->host . ';dbname=' . $this->dbname;
  12.         $options = [
  13.             PDO::ATTR_PERSISTENT => true,
  14.             PDO::ATTR_ERRMODE    => PDO::ERRMODE_EXCEPTION];
  15.         try {
  16.             $this->db = new PDO($dsn, $this->user, $this->pass, $options);
  17.         } catch (PDOException $e) {
  18.             $this->error = $e->getMessage();
  19.         }
  20.     }
  21.  
  22.     public function query($query) {
  23.         $this->stmt = $this->db->prepare($query);
  24.     }
  25.  
  26.     public function bind($param, $value, $type = null) {
  27.         if (is_null($type)) {
  28.             switch (true) {
  29.                 case is_int($value):
  30.                     $type = PDO::PARAM_INT;
  31.                     break;
  32.                 case is_bool($value):
  33.                     $type = PDO::PARAM_BOOL;
  34.                     break;
  35.                 case is_null($value):
  36.                     $type = PDO::PARAM_NULL;
  37.                     break;
  38.                 default:
  39.                     $type = PDO::PARAM_STR;
  40.             }
  41.         }
  42.         $this->stmt->bindValue($param, $value, $type);
  43.     }
  44.  
  45.     public function execute() {
  46.         return $this->stmt->execute();
  47.     }
  48. }
  49. $data = new Database;
  50. $sql  = " INSERT INTO users (name,email) VALUES (:name,:email)";
  51. $stmt = $data->query($sql);
  52. $stmt = $data->bind(':name', "John");
  53. $stmt = $data->bind(':email', "google@gmail.com");
  54. $stmt = $data->execute();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement