探讨如何把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 相关文章推荐
通过ICQ网关发送手机短信的PHP源程序
Oct 09 PHP
PHP数据缓存技术
Feb 14 PHP
在任意字符集下正常显示网页的方法二(续)
Apr 01 PHP
PHP实现MVC开发得最简单的方法――模型
Apr 10 PHP
PHP 金额数字转换成英文
May 06 PHP
PHP中设置时区,记录日志文件的实现代码
Jan 07 PHP
PHP实现的下载远程图片自定义函数分享
Jan 28 PHP
Thinkphp框架开发移动端接口(2)
Aug 18 PHP
PHP 等比例缩放图片详解及实例代码
Sep 18 PHP
Laravel学习教程之View模块详解
Sep 18 PHP
php服务器的系统详解
Oct 12 PHP
在laravel5.2中实现点击用户头像更改头像的方法
Oct 14 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
浅析PKI加密解密 OpenSSL
2013/07/01 PHP
dedecms函数分享之获取某一栏目所有子栏目
2014/05/19 PHP
PHP类中的魔术方法(Magic Method)简明总结
2014/07/08 PHP
javascript some()函数用法详解
2014/11/13 PHP
Yii2.0高级框架数据库增删改查的一些操作
2015/11/16 PHP
Yii中实现处理前后台登录的新方法
2015/12/28 PHP
浅谈PHP错误类型及屏蔽方法
2017/05/27 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
2017/07/03 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
2019/09/30 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
prototype 学习笔记整理
2009/07/17 Javascript
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
2012/07/31 Javascript
from表单多个按钮提交用onclick跳转不同action
2014/04/24 Javascript
javascript简单实现类似QQ头像弹出效果的方法
2015/08/03 Javascript
用户代理字符串userAgent可实现的四个识别
2015/09/20 Javascript
jQuery监听浏览器窗口大小的变化实例
2017/02/07 Javascript
javascript验证香港身份证的格式或真实性
2017/02/07 Javascript
深入解析js轮播插件核心代码的实现过程
2017/04/14 Javascript
js图片加载效果实例代码(延迟加载+瀑布流加载)
2017/05/12 Javascript
JavaScript方法_动力节点Java学院整理
2017/06/28 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
详解微信小程序之scroll-view的flex布局问题
2019/01/16 Javascript
如何将百度地图包装成Vue的组件的方法步骤
2019/02/12 Javascript
vue3.0 搭建项目总结(详细步骤)
2019/05/20 Javascript
微信小程序 scroll-view 水平滚动实现过程解析
2019/10/12 Javascript
js判断非127开头的IP地址的实例代码
2020/01/05 Javascript
JavaScript实现Tab选项卡切换
2020/02/13 Javascript
[01:47]2018年度DOTA2最具人气解说-完美盛典
2018/12/16 DOTA
Python实现一个简单的MySQL类
2015/01/07 Python
python下MySQLdb用法实例分析
2015/06/08 Python
Canvas globalCompositeOperation
2018/12/18 HTML / CSS
运动会加油稿20字
2014/11/15 职场文书
社会实践活动总结
2015/02/05 职场文书
导游词之镇江西津古渡
2019/11/06 职场文书
浅谈MySQL next-key lock 加锁范围
2021/06/07 MySQL
Redis入门基础常用操作命令整理
2022/06/01 Redis