php session写入数据库_php session 写入数据库,phpsession
php session 写入数据库,phpsession
本文实例介绍了php session 写入数据库的方法,分享给大家供大家参考,具体内容如下
config = $args;
$this->maxlifetime = get_cfg_var("session.gc_maxlifetime");
session_set_save_handler(
array($this, "open"),
array($this, "close"),
array($this, "read"),
array($this, "write"),
array($this, "destroy"),
array($this, "gc"));
}
public function open() {
$this->link = mysqli_connect(
$this->config['host'],
$this->config['user'],
$this->config['password'],
$this->config['database']);
mysqli_set_charset($this->link, "utf8");
$sql = 'CREATE TABLE IF NOT EXISTS `%s` (
`session_id` varchar(255) NOT NULL,
`session_data` text,
`session_expires` char(10) NOT NULL,
PRIMARY KEY (`session_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;';
$sql = sprintf($sql, $this->config['table']);
mysqli_query($this->link, $sql);
return true;
}
public function close() {
return true;
}
public function read($session_id) {
if(empty($session_id)) return null;
$sql = 'SELECT `session_data` AS `data` FROM `%s` WHERE `session_id` = "%s" AND `session_expires` > "%u"';
$sql = sprintf($sql,
mysqli_real_escape_string($this->link, $this->config['table']),
mysqli_real_escape_string($this->link, $session_id),
time());
$result = mysqli_query($this->link, $sql);
$row = mysqli_fetch_assoc($result);
return $row['data'];
}
public function write($session_id, $session_data) {
if(empty($session_id)) return null;
$newExpires = time() + $this->maxlifetime;
$sql = 'REPLACE INTO `%s` SET `session_id` = "%s", `session_data` = "%s", `session_expires` = "%u"';
$sql = sprintf($sql,
mysqli_real_escape_string($this->link, $this->config['table']),
mysqli_real_escape_string($this->link, $session_id),
mysqli_real_escape_string($this->link, $session_data),
$newExpires);
$result = mysqli_query($this->link, $sql);
return mysqli_affected_rows($this->link);
}
public function destroy($session_id) {
$sql = 'DELETE FROM `%s` WHERE `session_id` = "%s"';
$sql = sprintf($sql,
mysqli_real_escape_string($this->link, $this->config['table']),
mysqli_real_escape_string($this->link, $session_id));
$result = mysqli_query($this->link, $sql);
return mysqli_affected_rows($this->link);
}
public function gc() {
$sql = 'DELETE FROM `%s` WHERE `session_expires` < "%u"';
$sql = sprintf($sql,
mysqli_real_escape_string($this->link, $this->config['table']),
time());
$result = mysqli_query($this->link, $sql);
return mysqli_affected_rows($this->link);
}
}
class session {
public static $collection = null;
public static function open($clean = false, $token = false) {
if($clean) ob_end_clean();
if($token) session_id($token);
session_start();
self::$collection = $_SESSION;
}
public static function id() {
$num_args = func_num_args();
if($num_args) {
$args = func_get_arg(0);
return session_id($args);
}else{
return session_id();
}
}
public static function get($name) {
return isset($_SESSION[$name]) ? $_SESSION[$name] : null;
}
public static function set($name, $value) {
$_SESSION[$name] = $value;
return true;
}
public static function delete($name) {
if(!isset($_SESSION[$name])) return null;
unset($_SESSION[$name]);
return true;
}
public static function destroy() {
session_destroy();
}
}
$config = array(
"host"=> "127.0.0.1",
"user"=> "root",
"password"=> "123456",
"database"=> "test",
"charset"=> "utf8",
"table"=> "user_session");
session_handler::init($config);
session::open();
session::set("profile", array("id"=> 1, "user"=> "haowei", "vip-level"=> 6));
以上就是本文的全部内容,希望对大家的学习有所帮助。
您可能感兴趣的文章:PHP用mysql数据库存储session的代码
Session保存到数据库的php类分享
php把session写入数据库示例
PHP独立Session数据库存储操作类分享
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
PHP将session信息存储到数据库的类实例
php实现将Session写入数据库
php基于session实现数据库交互的类实例
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
php session写入数据库_php session 写入数据库,phpsession相关推荐
- mysql 取出全部数据库_php取出mysql数据库中所有数据
今天遇到一个需求需要看看数据库中是否含有某个数据,但一看数据库表,200多个,一个一个看实在不明智,于是写了一个显示数据库数据的php,只要改下密码和你要数据库,所有数据就清晰显示了,有需求的可以用用 ...
- php如何删除数据mysql数据库_php如何删除数据库
php如何删除数据库 1.首先查看有哪些数据库 2.使用php删除test2<?php $dbhost = 'localhost'; // mysql服务器主机地址 $dbuser = 'roo ...
- php 管理mysql数据库_php管理mysql数据库类
class MySQL_DB { private $last_query; //上一次执行的sql指令 private $conn; //当前连接数据库服务器的资源类型 p ...
- php 复制mysql数据库_PHP连接MySQL数据库的三种方式
本篇文章给大家介绍一下PHP连接MySQL数据库的三种方式(mysql.mysqli.pdo),结合实例形式分析了PHP基于mysql.mysqli.pdo三种方式连接MySQL数据库的相关操作技巧与 ...
- php c 链接mysql数据库_PHP连接MySQL数据库
php连接MySQL数据库的两种编码方式 PHP连接MySQL数据库的方式 面向过程的编码风格 //一.面向过程的编码风格 //1.PHP与MySQL建立连接 /*语法mysqli_connect(h ...
- 用php创建数据库代码,php创建数据库_PHP MySQL 创建数据库与表示例
摘要 腾兴网为您分享:PHP MySQL 创建数据库与表示例,掌上新华,携程,小牛,苏宁易购等软件知识,以及死神觉醒ios,花视频,s3云存储,华为谷歌器,学成网,cf掌上,互刷天下,抖音批量,润乾报 ...
- redis/分布式文件存储系统/数据库 存储session,解决负载均衡集群中session不一致问题...
先来说下session和cookie的异同 session和cookie不仅仅是一个存放在服务器端,一个存放在客户端那么笼统 session虽然存放在服务器端,但是也需要和客户端相互匹配,试想一个浏览 ...
- 【Session】Tomcat中Session持久化到文件系统或数据库
参考的优秀文章 Tomcat Session 持久化 Package org.apache.catalina.session 最近同事在做Session外置的功能,我对Session持久化.共享也不太 ...
- aspx写入mysql_Asp.net用户登陆数据库验证与注册写入数据库
1.思路与效果图 Index.aspx 注册 注册成功 登陆 登陆验证通过进入内容页1 登陆没通过验证 思路:首先建一个Sqlserver数据库Student,再建一个student表(name,pw ...
最新文章
- Github android客户端源代码分析之一:环境搭建
- pythonpath manager_python 路径操作工具 pathlib,比 os 模块好用太多
- Linux用一键安装包快速部署禅道项目管理平台
- 微信小程序有关于Linux的吗,微信小程序可以跳转到手机 app 啦!
- 自疫情暴发以来,99%的中国IT决策者认为数据变得更重要
- 栈、堆、静态存储区的三分天下
- JavaWeb篇-谷歌验证码的使用
- WordPress伪原创工具-更新网站一键伪原创发布软件
- 网站死链接检测查询工具
- FastDFS - 分布式文件存储系统
- 一个数的0次方意义思考
- 程序员就是这么皮,逆向Google maps snake游戏
- 字节跳动2018校招前端面试题
- 高通TrueWireless Mirroring无缝的用户体验镜像技术
- 从事GIS开发多年,2017年对GIS行业的心得,尤其对三维GIS的理解 1
- python 提取元组中的值_如何从Python元组中提取数据?
- python识别颜色并提取轮廓_pythonopencv检测并提取目标颜色
- zjyxmdshoes
- gog无效的验证码_如何退款GOG游戏
- 新浪服务器安装系统,IBM System X 服务器 MicroSoft系统安装实战
热门文章
- Angular getOrCreateInjectable的实现原理调试
- SAP Fiori应用发生超时错误的一个可能原因
- 如何使用SAP Cloud for Customer的Key User Tool将Mashup添加到UI上
- SAP云平台上的Mendix服务 - 如何注册帐号
- odata协议里filter操作自带的函数 - endswith
- wizard generated application - how is detail page rendered
- header response in Genil
- SAP云平台CloudFoundry环境下的环境变量使用
- 给Sublime Text2安装GraphQL语法高亮插件
- 当我们在UI上点add button增加新的search criteria之后,是framework做的处理把新的row render出来