/**

* PHP中将session保存到数据库的代码

*

* @param

* @arrange 512-笔记网: 512Pic.com

**/

// 'sessions' table schema

// create table sessions (

// session_id char(32) not null,// session_data text not null,// session_expiration int(11) unsigned not null,// primary key (session_id));

//

include_once 'DB.PHP';

// Global Variables

$dbh = NULL;

function on_session_start ($save_path,$session_name) {

global $dbh;

$dbh = DB::connect('MysqL://user:secret@localhost/SITE_SESSIONS',true);

if (DB::isError($dbh)) {

die(sprintf('Error [%d]: %s',$dbh->getCode(),$dbh->getMessage()));

}

}

function on_session_end ()

{

// Nothing needs to be done in this function

// since we used persistent connection.

}

function on_session_read ($key)

{

global $dbh;

$stmt = "select session_data from sessions";

$stmt .= " where session_id = '$key'";

$stmt .= " and session_expiration > now()";

$sth = $dbh->query($sth);

$row = $sth->fetchRow(DB_FETCHMODE_ASSOC);

return $row['session_data'];

}

function on_session_write ($key,$val)

{

global $dbh;

$val = addslashes($val);

$insert_stmt = "insert into sessions values('$key','$val',now() + 3600)";

$update_stmt = "update sessions set session_data = '$val',";

$update_stmt .= "session_expiration = now() + 3600 ";

$update_stmt .= "where session_id = '$key'";

// First we try to insert,if that doesn't succeed,it means

// session is already in the table and we try to update

if (DB::isError($dbh->query($insert_stmt)))

$dbh->query($update_stmt);

}

function on_session_destroy ($key)

{

global $dbh;

$stmt = "delete from sessions where session_id = '$key'";

$dbh->query($stmt);

}

function on_session_gc ($max_lifetime)

{

global $dbh;

// In this example,we don't use $max_lifetime parameter

// We simply delete all sessions that have expired

$stmt = "delete from sessions where session_expiration < now()";

$dbh->query($stmt);

}

session_start ();

// Register the $counter variable as part

// of the session

session_register ("counter");

// Set the save handlers

session_set_save_handler ("on_session_start","on_session_end","on_session_read","on_session_write","on_session_destroy","on_session_gc");

// Let's see what it does

$counter++;

print $counter;

session_destroy();

/*** 来自编程之家 jb51.cc(jb51.cc) ***/

php将简单的数据从数据库,php将session保存到数据库的简单示例相关推荐

  1. PHP类分享:session保存到数据库

    下面是Session保存到数据库的PHP类,和大家分享下,欢迎拍砖的哈,拍的时候看着点就行哈! <?php class SessionToDB { private $_path = null; ...

  2. java图片保存到数据库_java中将图片保存到数据库中

    在实际的开发中,我们可能需要将图片.影音等文件直接保存到数据库中,然后通过编程方式将数据读出进行使用.例如将读出的图片数据显示出来,将读出的电影文件播放出来. 二进制数据直接保存到文件和从文件中读出非 ...

  3. php存数组到数据库,PHP将数组保存到数据库

    在 PHP开发中,最常用的数据类型算是字符串和数组了,且数组类型的数据通常需要和数据库进行交互,尤其是对于结构化的数据. ​ 在很多时候,我们需要把数字保存到数据库,实现对于结构化数据的直接存储以及读 ...

  4. ASP.NET将Session保存到数据库中

    因为ASP.NET中Session的存取机制与ASP相同,都是保存在进行中, 一旦进程崩溃,所有Session信息将会丢失,所以我采取了将Session信息保存到SQL Server中,尽管还有其它的 ...

  5. java保存时间到数据库_java new date 保存到数据库时间不对

    Ibatis框架之系统架构 如果用最简洁的话来总结 iBATIS 主要完成那些功能时,我想下面几个代码足够概括. 1 Class.forName("oracle.jdbc.driver.Or ...

  6. oracle数据库卡住了无法保存,Oracle数据库使用NFS存储,启动报错提示无法锁定文件...

    Oracle报错信息: SQLgt; startup gt; ORA-10997: another startup/shutdown operation of this instance inprog ...

  7. 如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据 (上) 试读版

    ABAP 标准培训教程 BC400 学习笔记之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍 ABAP 标准培训教程 BC400 学习笔记之二:Cross-client 和 Clien ...

  8. 如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据 (下)

    在本文的前续篇章:如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据 (上) 我们已经在系统里创建了两张数据库表 ZPERSON 和 ZMYORDERS, 并插入了对应的记录: 文章的 ...

  9. 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】)...

     本文目录: (一)背景 (二)数据库数据导入到Excel的方法比较    (三)SSIS的简介    (四)数据库中存储过程示例(SSIS应用需要) (五)Excel模板的制作(这步这么简单,稍微介 ...

最新文章

  1. ugui源码_UGUI 源码笔记(一)文件结构和部分组件使用
  2. AD中批量增加带密码用户
  3. 七个你没用过的炫酷开发工具推荐
  4. 霍因科技获首届全国信创产业生态创新奖
  5. php最复杂,php – 什么方法最好构建这个复杂的图
  6. 游戏开发学什么?四步修炼骨灰级高手
  7. 道岔及转辙机结构详解
  8. 笔记本计算机摄像头怎么打开,笔记本电脑的摄像头在哪里打开(图解摄像头开启步骤)...
  9. 四象限运行模式_四象限变频器原理及系统构成
  10. 【随笔1】石榴红,依旧。
  11. mongodb 聚合函数求平均值及时差处理
  12. 三菱FX系列PLC以太网通讯
  13. SolveigMM Video Splitter绿色中文版
  14. 特斯拉竞争对手Rivian获7亿美元融资 亚马逊领投
  15. 过滤器和拦截器(SpringMVC实现)
  16. 什么是接口,面向接口编程的好处是什么?
  17. NSUserDefaults见解
  18. 灰色关联分析(清风建模学习笔记)
  19. 关于iOS录音后播放声音小的问题
  20. Eclipse项目名称出现红叉

热门文章

  1. 系统权限控制设计001---RBAC用户角色权限设计方案
  2. Android异常总结--- java.net.SocketTimeoutException: Transport endpoint is not connected
  3. Android学习笔记05---项目的目录结构与安装及启动过程分析
  4. 随想录(octave软件)
  5. ftk学习记(combox篇)
  6. 提高代码的运行效率 (4)
  7. 解析超大文件_MySQL物理文件结构和SQL执行流程
  8. java easing_p5.js入门教程之平滑过渡(Easing)
  9. 51单片机点亮数码管
  10. 《统计学习方法》读书笔记——K近邻法(原理+代码实现)