Advertisement
Guest User

Untitled

a guest
Apr 3rd, 2019
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.46 KB | None | 0 0
  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.     }
  22.  
  23.  
  24.     public function close()
  25.     {
  26.         return true;
  27.     }
  28.  
  29.     public function read($id)
  30.     {
  31.         $sql =sprintf("SELECT value FROM session WHERE id = '%s'",$this->mysqli->escape_string($id));
  32.         $statement = $this->mysqli->query($sql);
  33.         return $statement->fetch_assoc()['value'];
  34.     }
  35.  
  36.     public function write($id, $data)
  37.     {
  38.         $sql =sprintf("INSERT INTO session (id,value,created) VALUES('%s','%s',NOW())",$this->mysqli->escape_string($id),$this->mysqli->escape_string($data));
  39.  
  40.         $this->mysqli->query($sql);
  41.         return $this->mysqli->affected_rows > 0;
  42.  
  43.     }
  44.  
  45.     public function destroy($id)
  46.     {
  47.         $sql =sprintf("DELETE FROM session WHERE id='%s'",$this->mysqli->escape_string($id));
  48.  
  49.         $this->mysqli->query($sql);
  50.         return $this->mysqli->affected_rows > 0;
  51.     }
  52.  
  53.     public function gc($maxlifetime)
  54.     {
  55.         $sql ="DELETE FROM session WHERE created +".$maxlifetime." < NOW()";
  56.  
  57.         $this->mysqli->query($sql);
  58.         return $this->mysqli->affected_rows > 0;
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement