session我们多半是保存在服务器中呀,但是今天有一个功能就是需要把session保存在数据库中,这样可以实现同ie多浏览了,下面我们一起来看具体实现例子。
php中session默认的存储方式是硬盘,php也可以改变默认的存储方式。
主要使用到session_set_save_handler方法,下面分享下如何将session保存到MySql数据库中的具体代码。
1.建session表
代码如下 | 复制代码 |
CREATE TABLE `session` ( `sessionid` varchar(128) NOT NULL, `uid` int(11) NOT NULL, `data` mediumblob NOT NULL, `timestamp` int(11) NOT NULL, `ip` varchar(15) NOT NULL, PRIMARY KEY (`sessionid`), KEY `time_session` (`timestamp`,`sessionid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; |
uid 是保留字段
2.自定义session类
代码如下 | 复制代码 |
class CustomSession{ private $conn; public static function getInstance(){ return $instance; public function __construct(){ public function __destruct(){ public function open(){ public function close(){ 立即学习“PHP免费学习笔记(深入)”; mysql_close($this->conn); public function read($id){ public function write($id,$data){ public function destroy($id){ public function gc($lifetime){ public function query($query){ ?> |
3.测试程序
代码如下 | 复制代码 |
include('./CustomSession.class.php'); CustomSession::getInstance(); session_start(); $_SESSION['username']='feng'; print_r($_SESSION); ?> |
运行测试程序后,查看数据库可以发现session表中已经增加了session记录
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号