session存储到mysql数据库_MySQL
程序员文章站
2022-05-14 09:56:32
...
根据qq互联中的session类和php官方上的例子,整理
lifetime = get_cfg_var("session.gc_maxlifetime"); $this->dbHandle = $con; if(!$con || !$sel) return false; return true; }function close(){ $this->gc($this->lifetime); return @mysql_close($this->dbHandle);}function read($id){ $rs = @mysql_query("select session_data data from ".self::db_table." where session_expires dbHandle); $row = @mysql_fetch_assoc($rs); return $row?$row['data']:'';}function write($id,$data){ $newEXP = time()+ ini_get("session.gc_maxlifetime"); $sel = mysql_query("select * from ".self::db_table." where session_id= '".$id."'",$this->dbHandle); if(mysql_affected_rows($this->dbHandle)){ $rs = @mysql_query("update ".self::db_table." set session_data = '".$data."', session_expires = '".$newEXP."' WHERE session_id = '".$id."'",$this->dbHandle); if(@mysql_affected_rows($this->dbHandle)) return true; }else{ $rs = @mysql_query("insert into ".self::db_table." (session_id,session_data,session_expires)values('".$id."','".$data."','".$newEXP."')",$this->dbHandle); if(@mysql_affected_rows($rs)) return true; } return false;}function destroy($id){ @mysql_query("delete from ".self::db_table." where session_id = '".$id."'",$this->dbHandle);}function gc($lifetime){ @mysql_query("delete from ".self::db_table." where sessoin_expires > '".time()."'",$this->dbHandle);}}$session = new session();session_set_save_handler(array(&$session,'open'),array(&$session,'close'),array(&$session,'read'),array(&$session,'write'),array(&$session,'destroy'),array(&$session,'gc'));session_start();