在PHP中存储会话的方式有哪些

介绍

本篇文章为大家展示了在PHP中存储会话的方式有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

PHP有什么用

PHP是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及PHP自创新的语法,主要用来做网站开发,许多小型网站都用PHP开发,因为PHP是开源的,从而使PHP经得久不衰。

<强>首先要进行的配置如下:
本实例设计的数据库的表结构如下所示:

代码如下:


创建表mysession (
session_key char(32)不是零,,,,,
session_data文本,
session_expiry int (11),
主键(session_key)
);


第一列表示存储会话ID,第二列存储会话中的数据,第三列存储有效期,呵呵(表结构就这么简单)
下面就是关键的那份自定义函数的实现session_set_save_handler (……)

代码如下:


& lt; ?php
函数mysession_open (save_path, session_name美元)
{
@mysql_connect (“localhost",“root",“root"),,,,//选择数据库之前需要先连接数据库服务器
或死亡(“数据库服务器连接失败“);
@mysql_select_db (“php"),,,,,//选择数据库mydb
或死亡(“数据库不存在或不可用“);
返回true;
}
函数mysession_close ()
{
返回true;
}
函数mysession_read(键)
{
@mysql_connect (“localhost",“root",“root"),,,,//选择数据库之前需要先连接数据库服务器
或死亡(“数据库服务器连接失败“);
@mysql_select_db (“php"),,,,,//选择数据库mydb
或死亡(“数据库不存在或不可用“);
$ expiry_time=时间(),,,,,,,//获取会话失效时间
//执行SQL语句获得会话的值
查询美元=@mysql_query(“从mysession选择session_data“
!”session_key=& # 39;美元关键# 39;和session_expiry比;expiry_time"美元)
或死亡(“SQL语句执行失败“);
if($(查询)美元)result中进行row=mysql_fetch_array
返回$ row [& # 39; session_data& # 39;];其他

返回false;
}
函数mysession_write(键,美元数据)
{
@mysql_connect (“localhost",“root",“root"),,,,//选择数据库之前需要先连接数据库服务器
或死亡(“数据库服务器连接失败“);
@mysql_select_db (“php"),,,,,//选择数据库mydb
或死亡(“数据库不存在或不可用“);
$ expiry_time=时间()+ 1200,,,,,,,//获取会话失效时间
//查询会话的键值是否已经存在
$查询=@mysql_query(“从mysession选择session_data“
!”session_key=& # 39;美元关键# 39;“)
或死亡(“SQL语句执行失败“);
//如果不存在,则执行插入操作,否则执行更新操作
如果(mysql_numrows(查询)美元==0)
{
//执行SQL语句插入会话的值
$查询=@mysql_query(“插入mysession值(& # 39;关键# 39;美元,& # 39;数据# 39;美元,美元expiry_time)“)
或死亡(“SQL语句执行失败“);
}

其他{
//执行SQL语句更新会话的值
查询美元=@mysql_query(“更新mysession组“
!”session_data=https://www.yisu.com/zixun/$ data, session_expiry=$ expiry_time”
!”session_key=& # 39;美元关键# 39;“)
或死亡(“SQL语句执行失败“);
}
返回查询美元;
}
函数mysession_destroy(键)
{
@mysql_connect (“localhost",“root",“root"),,,,//选择数据库之前需要先连接数据库服务器
或死亡(“数据库服务器连接失败“);
@mysql_select_db (“php"),,,,,//选择数据库mydb
或死亡(“数据库不存在或不可用“);
//执行SQL语句删除会话
$查询=@mysql_query(“删除从mysession session_key=& # 39;美元关键# 39;“)
或死亡(“SQL语句执行失败“);
返回查询美元;
}
函数mysession_gc (expiry_time美元)
{
@mysql_connect (“localhost",“root",“root"),,,,//选择数据库之前需要先连接数据库服务器
或死亡(“数据库服务器连接失败“);
@mysql_select_db (“php"),,,,,//选择数据库mydb
或死亡(“数据库不存在或不可用“);
$ expiry_time=时间(),
//执行SQL语句删除会话
查询美元=@mysql_query(“删除从mysession session_expiry & lt;expiry_time"美元)
或死亡(“SQL语句执行失败“);
返回查询美元;
}
//设置用户自定义会话存储
session_set_save_handler (& # 39; mysession_open& # 39;,
& # 39; mysession_close& # 39;,
& # 39; mysession_read& # 39;,
& # 39; mysession_write& # 39;,
& # 39; mysession_destroy& # 39;,
& # 39; mysession_gc& # 39;);
?在

在PHP中存储会话的方式有哪些