session入mysql

来源:互联网 发布:微软流程图软件 编辑:程序博客网 时间:2024/05/20 23:31
[php] view plain copy 在CODE上查看代码片派生到我的代码片
  1. <?php  
  2. ini_set("session.save_handler","user");    
  3. //session.gc_probability = 1 分子    
  4. ini_set("session.gc_probability",1);    
  5. //session.gc_divisor = 1000 分母    
  6. ini_set("session.gc_divisor",2);    
  7. //session.gc_maxlifetime = 1440 垃圾回收时间,session有效期    
  8. session_set_save_handler( "open","close","read","write","destroy","gc" );  
  9. //连接数据库    
  10. function open(){    
  11.     @$link = mysql_connect('127.0.0.1''root''root');    
  12.     mysql_query('set names utf8');    
  13.     mysql_query('use wangbin');    
  14. }    
  15. function close(){    
  16.     mysql_close();    
  17. }    
  18. function read($sess_id){    
  19.     $sql = "select session_data from `session` where session_id = '$sess_id'";    
  20.     $result = mysql_query($sql);    
  21.     if($rows = mysql_fetch_assoc($result)){  
  22.         return $rows['session_data']; }  
  23.     else{  
  24.         return '';  
  25.     }    
  26. }    
  27. function write($sess_id,$sess_data){    
  28.     $sql = "insert into `session` (session_id,session_data,session_time) values('$sess_id','$sess_data', now()) on duplicate key update session_data = '$sess_data' , session_time = now()";  //这是为了gc()    
  29.     return mysql_query($sql);    
  30.     
  31. }    
  32. function destroy($sess_id){    
  33.     echo __FUNCTION__;    
  34.     $sql = "delete from `session` where session_id = '$sess_id'";    
  35.     return mysql_query($sql);    
  36.     
  37. }    
  38. function gc($sess_id){    
  39.     $maxlifetime = ini_set("session.gc_maxlifetime");    
  40.     echo __FUNCTION__;    
  41.     $sql = "delete from `session` where now()-session_time > '$maxlifetime' ";    
  42.     return mysql_query($sql);    
  43. }    
  44. header("content-type:text/html;charset=utf8");    
  45. session_start();    
  46. $_SESSION['name']='aa';    
  47. //echo session_id();    
  48. echo $_SESSION['name'];    
  49.    
0 0