探讨如何把session存入数据库


Posted in PHP onJune 07, 2013

php的session默认的情况下是采用的文件方式来保存的,我们在php的配制文件php.ini中可以看到这样的一行,session.save_handler="files",这样的意思就是采用文件来保存session 的,要采用数据库来保存的话,我们需要修改成拥护模式,改称 session.save_handler="use"就可以了,但是,这仅仅是说明我门没有采用文件的方式存储session,我们还要选择数据库和建立数据库的表。

建立数据库和数据库的表结构,我们可以采用php可以使用的任何的数据库,因为php和mysql的结合最好,我就使用mysql来做事例,当然根据你的需要可以改称别的数据库,同时因为mysql没有事物的功能,这也比别的数据库更快,然而保存session 书、一 不许要事物处理的,再者里我决的更好。
创建数据库:

CREATE DATABASE 'session'; 创建表结构 CREATE TABLE 'session'( id CHAR(30) NOT NULL  , 'user 'CHAR(30), data CHAR(3000) ,PARMIRY BY ('id') );

下面我们来编写保存session的文件session_start.php
<?php
 $con =mysql_connection("127.0.0.1","user" , "pass");
        mysql_select_db("session");
function open($save_path, $session_name) 
{
    return(true);
}
function close() 
{
  return(true);
}
function read($id) 
{
   if($result = mysql_query("SELECT * FROM session WHERE id='$id'"))
     {
        if($row = mysql_felth_row($result ))
           {  return $row["data"]; }
      }
   else
     {
      return "";
      }
}
function write($id, $sess_data) 
{
  if($result = mysql_query("UPDATE session SET data='$sess_data' WHERE id='$id'"))
     {
        return true;
      }
   else
     {
      return false;
      }
}
function destroy($id) 
{
 if($result = mysql_query("DELETE * FROM  session WHERE id='$id'"))
     {
        return true;
      }
   else
     {
      return false;
      }
}
/*********************************************
* WARNING - You will need to implement some *
* sort of garbage collection routine here.  *
*********************************************/
function gc($maxlifetime) 
{
  return true;
}
session_set_save_handler("open", "close", "read", "write", "destroy", "gc");
session_start();
// proceed to use sessions normally
?>

现在我们的工作就已经完成了,只要你在需要在使用session的时候,把session_user_start.php。包含进来,
注意,这个文件一定要在文件的第一行包含,然后就想使用文件的session一样的方法使用旧可以了。
PHP 相关文章推荐
允许phpmyadmin空密码登录的配置方法
May 29 PHP
PHP stripos()函数及注意事项的分析
Jun 08 PHP
基于PHPExcel的常用方法总结
Jun 13 PHP
解析smarty模板中类似for的功能实现
Jun 18 PHP
PHP删除HTMl标签的三种解决方法
Jun 30 PHP
php网站被挂木马后的修复方法总结
Nov 06 PHP
ThinkPHP 404页面的设置方法
Jan 14 PHP
PHP之浮点数计算比较以及取整数不准确的解决办法
Jul 29 PHP
PHP实现移除数组中为空或为某值元素的方法
Jan 07 PHP
[原创]php正则删除img标签的方法示例
May 27 PHP
PHP里的$_GET数组介绍
Mar 22 PHP
php多进程应用场景实例详解
Jul 22 PHP
基于PHP对XML的操作详解
Jun 07 #PHP
关于初学PHP时的知识积累总结
Jun 07 #PHP
基于PHP常用字符串的总结(待续)
Jun 07 #PHP
解析php中call_user_func_array的作用
Jun 07 #PHP
简单的cookie计数器实现源码
Jun 07 #PHP
深入eAccelerator与memcached的区别详解
Jun 06 #PHP
基于PHP开发中的安全防范知识详解
Jun 06 #PHP
You might like
php判断终端是手机还是电脑访问网站的思路及代码
2013/04/24 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
2014/07/15 PHP
Eclipse的PHP插件PHPEclipse安装和使用
2014/07/20 PHP
PHP调用接口用post方法传送json数据的实例
2018/05/31 PHP
PHP登录验证功能示例【用户名、密码、验证码、数据库、已登陆验证、自动登录和注销登录等】
2019/02/25 PHP
JavaScript 全面解析各种浏览器网页中的JS 执行顺序
2009/02/17 Javascript
ExtJS GTGrid 简单用户管理
2009/07/01 Javascript
JQuery 图片延迟加载并等比缩放插件
2009/11/09 Javascript
Angularjs基础知识及示例汇总
2015/01/22 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
2017/07/28 Javascript
实例分析编写vue组件方法
2019/02/12 Javascript
mpvue 项目初始化及实现授权登录的实现方法
2020/07/20 Javascript
vue项目接口域名动态获取操作
2020/08/13 Javascript
Vue检测屏幕变化来改变不同的charts样式实例
2020/10/26 Javascript
[05:08]第一届“网鱼杯”DOTA2比赛精彩集锦
2014/09/05 DOTA
Python字符串处理函数简明总结
2015/04/13 Python
简单介绍Python中的RSS处理
2015/04/13 Python
Python 查找list中的某个元素的所有的下标方法
2018/06/27 Python
python 3.7.0 安装配置方法图文教程
2018/08/27 Python
python用列表生成式写嵌套循环的方法
2018/11/08 Python
Python中numpy模块常见用法demo实例小结
2019/03/16 Python
python使用Plotly绘图工具绘制水平条形图
2020/03/25 Python
python网络爬虫 CrawlSpider使用详解
2019/09/27 Python
HTML5移动端开发遇见的东西
2019/10/11 HTML / CSS
Kendra Scott官网:美国领先的时尚配饰品牌
2020/10/22 全球购物
新媒传信软件测试面试题
2013/02/24 面试题
优秀团员个人的自我评价
2013/10/02 职场文书
大学生如何写自荐信
2014/01/08 职场文书
《苏珊的帽子》教学反思
2014/04/07 职场文书
关爱留守儿童倡议书
2014/04/15 职场文书
民主生活会汇报材料
2014/12/15 职场文书
2015年大学宣传部工作总结
2015/05/26 职场文书
校园开放日新闻稿
2015/07/17 职场文书
Vue的列表之渲染,排序,过滤详解
2022/02/24 Vue.js
Kubernetes控制节点的部署
2022/04/01 Servers
MySQL数据库 安全管理
2022/05/06 MySQL