session入库

使用session入库的好处:能够使多个服务器使用session信息;

php实现session入库操作例子:

<?php

ini_set("session.save_handler","user");//session.gc_probability = 1 分子

ini_set("session.gc_probability",1);//session.gc_divisor = 1000 分母

ini_set("session.gc_divisor",2);//session.gc_maxlifetime = 1440 垃圾回收时间,session有效期

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

//连接数据库

function open($savePath,$sessionName){

   mysql_connect("localhost","root","root");

   mysql_select_db("test");

   mysql_query("set names utf8");

}

function close(){

   echo "close<br>";

}

function read($sessionId){

   $sql = "select * from session where sessionid='".$sessionId."'";

   $re = mysql_query($sql);

   $sessdata = mysql_fetch_assoc($re); //返回session存储的数据

   return $sessdata["sessiondata"];

}

function write($sessionId,$data){

  //如果sessionid不存在,插入新纪录,存在就更新

   /* $sql = "select * from session where sessionid='".$sessionId."'";

  $re = mysql_query($sql);

   if(mysql_num_rows($re) > 0){

         $sql = "update session set sessiondata='".$data."' where sessionid='".$sessionId."'";

     }else{

         $sql = "insert into session(sessionid,sessiondata,sessiontime) values('".$sessionId."','".$data."',".time().")";

     }

    if(!mysql_query($sql)){

         echo mysql_error();

      }else{

         return true;

    } */

   //用replace语法解决上述操作

   $sql = "replace into session(sessionid,sessiondata,sessiontime) values('".$sessionId."','".$data."',".time().")";

    if(!mysql_query($sql)){

        echo mysql_error();

    }else{

        return true;

    }

}

  //根据sessionid销毁当前的session

function destroy($sessionId){

    echo "destroy<br>";

}

  //删除过期的所有session

function gc($lifetime){

   echo "gc<br>";

}

session_start();

$_SESSION["vvvv"] = "eeee";

var_dump($_SESSION);

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值