探讨如何把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 相关文章推荐
纯真IP数据库的应用 IP地址转化成十进制
Jun 14 PHP
PHP提取字符串中的图片地址[正则表达式]
Nov 12 PHP
php中一个有意思的日期逻辑处理
Mar 25 PHP
apache php模块整合操作指南
Nov 16 PHP
php ci框架中加载css和js文件失败的解决方法
Mar 03 PHP
CodeIgniter实现更改view文件夹路径的方法
Jul 04 PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
Oct 20 PHP
PHP Static延迟静态绑定用法分析
Mar 16 PHP
深入解析PHP的Yii框架中的缓存功能
Mar 29 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
Sep 23 PHP
PHP解决中文乱码
Apr 28 PHP
PHP+ajax实现获取新闻数据简单示例
May 08 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中iconv函数使用方法
2008/05/24 PHP
抓取并下载CSS中所有图片文件的php代码
2011/09/26 PHP
PHP编码转换函数 自动转换字符集支持数组转换
2012/12/16 PHP
php中preg_match的isU代表什么意思
2015/10/01 PHP
php中bind_param()函数用法分析
2017/03/28 PHP
FireFox与IE 下js兼容触发click事件的代码
2008/11/20 Javascript
Prototype Selector对象学习
2009/07/23 Javascript
jquery 入门教程 [翻译] 推荐
2009/08/17 Javascript
jQuery Flash/MP3/Video多媒体插件
2010/01/18 Javascript
jquery根据name属性查找的小例子
2013/11/21 Javascript
Javascript排序算法之计数排序的实例
2014/04/05 Javascript
node.js中的buffer.write方法使用说明
2014/12/10 Javascript
jquery动态改变div宽度和高度
2015/02/09 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
JavaScript中数组的22种方法必学(推荐)
2016/07/20 Javascript
关于JavaScript数组你所不知道的3件事
2016/08/24 Javascript
详解使用vue脚手架工具搭建vue-webpack项目
2017/05/10 Javascript
javascript如何用递归写一个简单的树形结构示例
2017/09/06 Javascript
js实现省级联动(数据结构优化)
2020/07/17 Javascript
浅谈vue获得后台数据无法显示到table上面的坑
2020/08/13 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
[05:13]TI4 中国战队 机场出征!!
2014/07/07 DOTA
简单介绍Python2.x版本中的cmp()方法的使用
2015/05/20 Python
简单学习Python time模块
2016/04/29 Python
python文件特定行插入和替换实例详解
2017/07/12 Python
Python求解任意闭区间的所有素数
2018/06/10 Python
Python实现图像去噪方式(中值去噪和均值去噪)
2019/12/18 Python
Python 生成短8位唯一id实战教程
2021/01/13 Python
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
Intersport西班牙:在线体育商店
2019/11/06 全球购物
促销活动方案模板
2014/02/24 职场文书
2014年“向国旗敬礼”网上签名寄语活动方案
2014/09/27 职场文书
护理医院见习报告
2014/11/03 职场文书
学雷锋日活动总结
2015/02/06 职场文书
2015年政协委员工作总结
2015/05/20 职场文书
个人业务学习心得体会
2016/01/25 职场文书