• ADADADADAD

    轻松实现session的mysql处理 (转)[ mysql数据库 ]

    mysql数据库 时间:2024-12-03 12:13:17

    作者:文/会员上传

    简介:

    轻松实现session的mysql处理 (转)[@more@] 通常,session都是保存在临时文件里的,但是,要是把它保存在数据库里,就会给我们带来很多好处,比如统计在线人数之类的。废话不说了,看程

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    轻松实现session的mysql处理 (转)[@more@]

    通常,session都是保存在临时文件里的,但是,要是把它保存在数据库里,就会给我们带来很多好处,比如统计在线人数之类的。废话不说了,看程序:

    <?PHP
    include("db_mysql.inc");

    function open ($save_path, $session_name) {
    global $db,$REMOTE_ADDR;
    $db->query("delete from Sessions where SessionLast1 hour)");
    if($db->query("select * from Sessions where SessionID='".session_id()."'")
    && $arry=$db->fetch_array())
    $db->query("update Sessions set SessionLast=NOW() where
    SessionID='".session_id()."'");
    else $db->query("insert into Sessions set
    SessionID='".session_id()."',SessionName='$REMOTE_ADDR',SessionLast='NOW()'"
    );
    return(true);
    }

    function close()

    return true;
    }

    function read ($id) {
    global $db;
    if(!$db->query("select SessionID from Sessions where SessionID='$id'")
    || $db->num_rows()<=0)return false;
    $SQL="select SessionData from Sessions where SessionID='$id'";
    $db->query($SQL);
    list($sess_data)=$db->fetch_row();
    return($sess_data);
    }

    function write ($id, $sess_data) {
    global $db;
    if(!$db->query("select SessionID from Sessions where SessionID='$id'") ||
    $db->num_rows()<=0)return false;
    if($db->query("update Sessions set
    SessionData='$sess_data',SessionLast=NOW() where SessionID='$id'"))
    return true;
    else return false;
    }

    function destroy ($id) {
    global $db;
    $db->query("delete from Sessions where SessionID='$id'");
    }

    function gc ($maxlifetime) {
    return true;
    }

    session_set_save_handler ("open", "close", "read", "write", "destroy","gc");

    session_start();

    ?>
    注:
    数据表:Sessions
    CREATE TABLE Sessions (
    SessionID varchar(50) NOT NULL,
    SessionName varchar(50) NOT NULL,
    SessionData blob,
    SessionLast datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
    PRIMARY KEY (SessionID)
    );


    轻松实现session的mysql处理 (转).docx

    将本文的Word文档下载到电脑

    推荐度:

    下载