探讨如何把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 相关文章推荐
第五节 克隆 [5]
Oct 09 PHP
解析php框架codeigniter中如何使用框架的session
Jun 24 PHP
PHP动态规划解决0-1背包问题实例分析
Mar 23 PHP
PHP使用内置dir类实现目录遍历删除
Mar 31 PHP
CodeIgniter扩展核心类实例详解
Jan 20 PHP
php实现URL加密解密的方法
Nov 17 PHP
老生常谈PHP面向对象之注册表模式
May 26 PHP
vmware linux系统安装最新的php7图解
Apr 14 PHP
laravel框架实现敏感词汇过滤功能示例
Feb 15 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
Apr 06 PHP
PHP与Web页面交互操作实例分析
Jun 02 PHP
基于PHP的登录和注册的功能的实现
Aug 06 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
《猛禽小队》:DC宇宙的又一超级大烂片
2020/04/09 欧美动漫
PHP实现查询手机归属地的方法详解
2017/04/28 PHP
PHP时间类完整代码实例
2021/02/26 PHP
web网页按比例显示图片实现原理及js代码
2013/08/09 Javascript
jQuery使用元素属性attr赋值详解
2015/02/27 Javascript
jquery左右全屏大尺寸多图滑动效果代码分享
2015/08/28 Javascript
JavaScript 拖拽实例代码
2016/09/21 Javascript
微信小程序 生命周期详解
2016/10/12 Javascript
使用vs code开发Nodejs程序的使用方法
2017/09/21 NodeJs
Vue 菜单栏点击切换单个class(高亮)的方法
2018/08/22 Javascript
Vue 表情包输入组件的实现代码
2019/01/21 Javascript
关于JavaScript 数组你应该知道的事情(推荐)
2019/04/10 Javascript
js使用cookie实现记住用户名功能示例
2019/06/13 Javascript
通过循环优化 JavaScript 程序
2019/06/24 Javascript
jquery实现垂直无限轮播的方法分析
2019/07/16 jQuery
使用Vue Composition API写出清晰、可扩展的表单实现
2020/06/10 Javascript
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
Python内置模块turtle绘图详解
2017/12/09 Python
Python使用装饰器进行django开发实例代码
2018/02/06 Python
Python装饰器语法糖
2019/01/02 Python
python+numpy实现的基本矩阵操作示例
2019/07/19 Python
pytorch: Parameter 的数据结构实例
2019/12/31 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
HTML如何让IMG自动适应DIV容器大小的实现方法
2020/02/25 HTML / CSS
html5给汉字加拼音加进度条的实现代码
2020/04/07 HTML / CSS
Fresh馥蕾诗英国官网:法国LVMH集团旗下高端天然护肤品牌
2018/11/01 全球购物
Mountain Warehouse波兰官方网站:英国户外品牌
2019/08/29 全球购物
施工人员岗位职责
2013/12/12 职场文书
秋季运动会稿件
2014/01/30 职场文书
小小商店教学反思
2014/04/27 职场文书
社区班子对照检查材料
2014/08/27 职场文书
党的群众路线教育实践活动对照检查材料思想汇报
2014/09/19 职场文书
2014年实习生工作总结
2014/11/27 职场文书
人民的好儿女观后感
2015/06/18 职场文书
手把手教你导入Go语言第三方库
2021/08/04 Golang
MySQL分布式恢复进阶
2022/07/23 MySQL