Advertisement
Guest User

Untitled

a guest
Apr 3rd, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. class MySqliSessionHandler implements SessionHandlerInterface
  4. {
  5.     private $mysqli;
  6.     private $sessionName;
  7.  
  8.     /**
  9.      * MySessionHandler constructor.
  10.      * @param $mysqli
  11.      */
  12.     public function __construct(mysqli $mysqli)
  13.     {
  14.         $this->mysqli = $mysqli;
  15.     }
  16.  
  17.     public function open($savePath, $sessionName)
  18.     {
  19.  
  20.         $this->sessionName = $sessionName;
  21. return true;
  22.     }
  23.  
  24.  
  25.     public function close()
  26.     {
  27.         return true;
  28.     }
  29.  
  30.     public function read($id)
  31.     {
  32.         $sql =sprintf("SELECT value FROM session WHERE id = '%s'",$this->mysqli->escape_string($id));
  33.         $statement = $this->mysqli->query($sql);
  34.         return $statement->fetch_assoc()['value'];
  35.     }
  36.  
  37.     public function write($id, $data)
  38.     {
  39.         $sql =sprintf("INSERT INTO session (id,value,created) VALUES('%s','%s',NOW())",$this->mysqli->escape_string($id),$this->mysqli->escape_string($data));
  40.  
  41.         $this->mysqli->query($sql);
  42.         return $this->mysqli->affected_rows > 0;
  43.  
  44.     }
  45.  
  46.     public function destroy($id)
  47.     {
  48.         $sql =sprintf("DELETE FROM session WHERE id='%s'",$this->mysqli->escape_string($id));
  49.  
  50.         $this->mysqli->query($sql);
  51.         return $this->mysqli->affected_rows > 0;
  52.     }
  53.  
  54.     public function gc($maxlifetime)
  55.     {
  56.         $sql ="DELETE FROM session WHERE created +".$maxlifetime." < NOW()";
  57.  
  58.         $this->mysqli->query($sql);
  59.         return $this->mysqli->affected_rows > 0;
  60.     }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement