17站长网

17站长网 首页 数据库 Mysql 查看内容

轻松实现session的mysql处理

2023-3-16 14:31| 查看: 1360 |来源: 互联网

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

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

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

 

     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)

);

本文最后更新于 2023-3-16 14:31,某些文章具有时效性,若有错误或已失效,请在网站留言或联系站长:17tui@17tui.com
·END·
站长网微信号:w17tui,关注站长、创业、关注互联网人 - 互联网创业者营销服务中心

免责声明:本站部分文章和图片均来自用户投稿和网络收集,旨在传播知识,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系我们及时修正或删除。谢谢!

17站长网微信二维码

始终以前瞻性的眼光聚焦站长、创业、互联网等领域,为您提供最新最全的互联网资讯,帮助站长转型升级,为互联网创业者提供更加优质的创业信息和品牌营销服务,与站长一起进步!让互联网创业者不再孤独!

扫一扫,关注站长网微信

大家都在看

    热门排行

      最近更新

        返回顶部