Heim >Datenbank >MySQL-Tutorial >session存储到mysql数据库_MySQL

session存储到mysql数据库_MySQL

WBOY
WBOYOriginal
2016-05-31 08:46:251121Durchsuche

根据qq互联中的session类和php官方上的例子,整理

<?phpini_set (&#39;error_reporting&#39;,E_ALL);ini_set(&#39;display_errors&#39;,TRUE);class session{const db_host = &#39;127.0.0.1&#39;;const db_user = &#39;root&#39;;const db_password =&#39;&#39;;const db_name = &#39;test&#39;;const db_table = &#39;tbl_session&#39;;private $lifetime;private $dbHandle;function open($path,$id){  $con = @mysql_connect(self::db_host,self::db_user,self::db_password);  $sel = @mysql_select_db(self::db_name,$con);  $this->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();



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn