zoukankan      html  css  js  c++  java
  • 数据库储存session信息代码

    今天给大家上一段代码,数据库存储session信息,你只需要将下面这段代码放到session文件中,然后再session_start()的地方引入sessiong文件就行啦,当然你就不用再写session_start()啦

    这是数据库表的结构

    好,下面上代码啦

    class session {
    private static $_mysqli;

    public static function action() {
    ini_set('session.save_handler','user');
    session_set_save_handler(array(__CLASS__,'open'),
    array(__CLASS__,'close'),
    array(__CLASS__,'read'),
    array(__CLASS__,'write'),
    array(__CLASS__,'destroy'),
    array(__CLASS__,'gc'));
    @session_start();
    }

    public static function open($path,$name) {
    self::$_mysqli = new mysqli('localhost','root','','test');
    return true;
    }

    public static function close() {
    self::$_mysqli->close();
    return true;
    }

    public static function read($sid) {
    $_query = "SELECT sdata FROM session WHERE sid='{$sid}' LIMIT 1";
    $_result = self::$_mysqli->query($_query);
    $_sdata = $_result->fetch_object();
    return $_sdata->sdata;
    }

    public static function write($sid,$sdata) {
    $_query = "SELECT sid FROM session WHERE sid='{$sid}' LIMIT 1";
    $_result = self::$_mysqli->query($_query);
    if (!!$_sid = $_result->fetch_object()) {
    $_query = "UPDATE session SET sdata='{$sdata}' WHERE sid='{$sid}'";
    self::$_mysqli->query($_query);
    } else {
    $_query = "INSERT INTO session (sid,sdata) VALUES ('{$sid}','{$sdata}')";
    self::$_mysqli->query($_query);
    }
    return true;
    }

    public static function destroy($sid) {
    $_query = "DELETE FROM session WHERE sid='{$sid}' LIMIT 1";
    self::$_mysqli->query($_query);
    setCookie(ini_get('session.name'),'',time()-1);
    return true;
    }

    public static function gc($maxlifetime) {
    $_query = "DELETE FROM session WHERE NOW()-slasttime>'{$maxlifetime}'";
    self::$_mysqli->query($_query);
    return true;
    }
    }

    session::action();

  • 相关阅读:
    【转载】python字符格式化
    【python】生产者消费者问题优化
    【python】pickle文件读写的insecure问题
    【工具使用】sublime设置换行符为unix风格
    【python】CGI部署问题解决
    【python】引用c的dll
    【多线程】Python进程,队列和锁相关的一些问题
    【Python】下载图片,标识之后转发出去
    【Python】PIL在window64位机制上引用异常问题解决
    【Python网页分析】httplib库的重定向处理
  • 原文地址:https://www.cnblogs.com/ly89cn/p/4568058.html
Copyright © 2011-2022 走看看