探讨如何把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 相关文章推荐
PHP 中的类
Oct 09 PHP
php 操作excel文件的方法小结
Dec 31 PHP
PHP 采集程序原理分析篇
Mar 05 PHP
php数组函数序列之array_sum() - 计算数组元素值之和
Oct 29 PHP
采用ThinkPHP中F方法实现快速缓存实例
Jun 13 PHP
利用PHP函数计算中英文字符串长度的方法
Nov 11 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
Dec 22 PHP
Apache PHP MySql安装配置图文教程
Aug 27 PHP
PHP实现的大文件切割与合并功能示例
Apr 10 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
Mar 07 PHP
Yii框架数据库查询、增加、删除操作示例
Oct 14 PHP
aec加密 php_php aes加密解密类(兼容php5、php7)
Mar 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
paypal即时到账php实现代码
2010/11/28 PHP
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
利用Laravel生成Gravatar头像地址的优雅方法
2017/12/30 PHP
不错的asp中显示新闻的功能
2006/10/13 Javascript
javascript的函数
2007/01/31 Javascript
无缝滚动js代码通俗易懂(自写)
2013/06/19 Javascript
node.js中的events.emitter.removeAllListeners方法使用说明
2014/12/10 Javascript
基于javascript实现tab选项卡切换特效调试笔记
2016/03/30 Javascript
jQuery中$.each()函数的用法引申实例
2016/05/12 Javascript
JavaScript结合Bootstrap仿微信后台多图文界面管理
2016/07/22 Javascript
javascript 通过键名获取键盘的keyCode方法
2017/12/31 Javascript
Vue中v-for的数据分组实例
2018/03/07 Javascript
如何封装了一个vue移动端下拉加载下一页数据的组件
2019/01/06 Javascript
JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
2019/07/10 Javascript
Python实现的tab文件操作类分享
2014/11/20 Python
使用python生成目录树
2018/03/29 Python
解决Python的str强转int时遇到的问题
2018/04/09 Python
python实现转盘效果 python实现轮盘抽奖游戏
2019/01/22 Python
解决Pandas的DataFrame输出截断和省略的问题
2019/02/08 Python
Python面向对象之类和实例用法分析
2019/06/08 Python
python3实现二叉树的遍历与递归算法解析(小结)
2019/07/03 Python
Django中modelform组件实例用法总结
2020/02/10 Python
python脚本监控logstash进程并邮件告警实例
2020/04/28 Python
python 使用三引号时容易犯的小错误
2020/10/21 Python
CSS3教程:边框属性border的极致应用
2009/04/02 HTML / CSS
使用CSS3设计地图上的雷达定位提示效果
2016/04/05 HTML / CSS
美国杰西潘尼官网:JCPenney
2019/06/12 全球购物
类、抽象类、接口的差异
2016/06/13 面试题
写一个在SQL Server创建表的SQL语句
2012/03/10 面试题
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
入党自我评价范文
2014/02/02 职场文书
创建文明学校实施方案
2014/03/11 职场文书
2014年客房服务员工作总结
2014/11/18 职场文书
2015年艾滋病宣传活动总结
2015/03/27 职场文书
婚庆主持词大全
2015/06/30 职场文书
Python基础之常用库常用方法整理
2021/04/30 Python