daily pastebin goal
44%
SHARE
TWEET

Untitled

a guest Jan 24th, 2019 58 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. final class MySQLiConnection
  4. {
  5.     private static $connection = null;
  6.  
  7.     private function __construct() {}
  8.  
  9.     public static function getInstance() : MySQLiConnection
  10.     {
  11.         if ($connection == null || !$connection->ping())
  12.         {
  13.             $connection = new mysqli("localhost", "root", "id", "password");
  14.         }
  15.  
  16.         return $connection;
  17.     }
  18.  
  19.     public function execute(string $sql, iterable $params) : void
  20.     {
  21.         if ($statement = $connection->prepare($sql))
  22.         {
  23.             foreach ($params in $param)
  24.             {
  25.                 if (is_int($param))
  26.                 {
  27.                     $statement->bind_param("i", $param);
  28.                 }
  29.                 else if (is_double($param))
  30.                 {
  31.                     $statement->bind_param("d", $param);
  32.                 }
  33.                 else if (is_string($param))
  34.                 {
  35.                     $statement->bind_param("s", $param);
  36.                 }
  37.             }
  38.  
  39.             $statement->execute();
  40.             $statement->close();
  41.         }
  42.     }
  43.  
  44.     public function getResult(string $sql, iterable $params) : mysqli_result
  45.     {
  46.         if ($statement = $connection->prepare($sql))
  47.         {
  48.             foreach ($params in $param)
  49.             {
  50.                 if (is_int($param))
  51.                 {
  52.                     $statement->bind_param("i", $param);
  53.                 }
  54.                 else if (is_double($param))
  55.                 {
  56.                     $statement->bind_param("d", $param);
  57.                 }
  58.                 else if (is_string($param))
  59.                 {
  60.                     $statement->bind_param("s", $param);
  61.                 }
  62.             }
  63.  
  64.             $result = $statement->get_result();
  65.             $statement->close();
  66.  
  67.             return $result;
  68.         }
  69.     }
  70. }
  71.  
  72. // example
  73. MySQLiConnection::getInstance()->execute("SELECT * FROM users WHERE forename = ? AND surname = ?", "ben", "dover");
  74.  
  75. ?>
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top