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); ?> |
时间: 2024-10-12 04:58:15