Mysql存取session实例

files:
common/common.config.php
include/session.inc.php
session_test.php
get_session_test.php
get_session_test2.php

Common.config.php
   
<?php
/*
* Common config
* By 恋太后天
*/

/*
* Database config
*/
define( “DBTYPE”, “mysql” );
$database = array
(
    “mysql” => array
    ( 
        “default” => array
        (
              “host”     => “localhost”,
              “user”     => “root”,
              “password” => “”,
              “dbname”   => “”
        ),
        “session” => array
        (
              “host”     => “localhost”,
              “user”     => “session”,
              “password” => “session”,
              “dbname”   => “sessions”
        )
    )
);

?>

session.inc.php

 
<?php
//使用mysql存放session 函数表
// by 恋太后天 2005-4-28

if (!isset($include_path)) $include_path = ”;

if (!is_array($database))
{
    include ($include_path.”common/Common.config.php”);
}

$DBsess      = $database[DBTYPE][“session”];
$DBsess_link = mysql_connect($DBsess[“host”], $DBsess[“user”], $DBsess[“password”]) 
               or die (“Error:Can not connect to Mysql server.“);

$SESS_LIFE = get_cfg_var(“session.gc_maxlifetime”);

function sess_open($path, $name)
{
    return true;
}

function sess_close()
{
    return true;
}

function sess_read($id)
{
    global $DBsess , $DBsess_link;
    mysql_select_db($DBsess[“dbname”]);
    $now = time();
    $result = mysql_query(“SELECT `data` FROM `sessions` 
                           WHERE `id`= ‘$id’ AND `expiry_time` > $now”, $DBsess_link);    
    if (list($data) = mysql_fetch_row($result))
    {   
       return $data;   
    }   
    return false; 
}

function sess_write($id, $data)
{
    global $DBsess , $DBsess_link, $SESS_LIFE;
    mysql_select_db($DBsess[“dbname”]);

    $expiry_time = time() + $SESS_LIFE;

    if ( !get_magic_quotes_gpc() )
    {
        $data = addslashes($data);
    }

    $now = time();

    $result = mysql_query(“INSERT into `sessions` (`id`, `expiry_time`,  `data`)”, $DBsess_link);

    if ( !$result )
    {
        $result = mysql_query(“UPDATE `sessions` SET `data`=’$data’, `expiry_time`=$expiry_time 
                               WHERE `id` = ‘$id’ AND `expiry_time` > $now”, $DBsess_link);
    }

存了个图 存了个图

视频图片解析/字幕/剪辑,视频高清保存/图片源图提取

存了个图 17 查看详情 存了个图

    return $result;
}

function sess_destroy($id)
{
    global $DBsess , $DBsess_link;
    mysql_select_db($DBsess[“dbname”]);
    $query = mysql_query(“DELETE FROM `session` WHERE `id`=’$id'”);
    return $query;
}

function sess_gc($maxlifetime)
{
    global $DBsess , $DBsess_link;  
    $query = mysql_query(“DELETE FROM `sessions` WHERE `expiry_time` < " . time(), $DBsess_link);   
    return mysql_affected_rows($DBsess_link);  

}

session_module_name();
session_set_save_handler(“sess_open”, “sess_close”, “sess_read”, “sess_write”, “sess_destroy”, “sess_gc”);

?>

session_test.php
   
<?php
// test for using session
include (“common/Common.config.php”);
include (“include/session.inc.php”);

session_start();

$_SESSION[“abc”] = “A: I will be back!”;
$_SESSION[“meto”] = “B: Me too “;
echo “

?>

get_session_test.php

   
<?php
// test for using session
include (“common/Common.config.php”);
include (“include/session.inc.php”);

session_start();
/*
* www.knowsky.com
*/
$_SESSION[“c”] = “
C: I will follow U. ^0^!”;
print($_SESSION[“abc”]);
print(“
“);
print($_SESSION[“meto”]);
echo “
“.
     “

?>

get_session_test2.php

   
<?php
//get_session_test2.php
// test for using session
include (“common/Common.config.php”);
include (“include/session.inc.php”);

session_start();
print($_SESSION[“c”]);
?>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/423682.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
怎么在VSCode里配置Prettier?
上一篇 2025年11月7日 10:41:21
app软件定制开发,是技术行业还是服务行业?
下一篇 2025年11月7日 10:41:27

相关推荐

  • MySQL索引原理与实战优化_提升查询性能的关键技术解析

    MySQL索引原理与实战优化_提升查询性能的关键技术解析MySQL索引原理与实战优化_提升查询性能的关键技术解析MySQL索引原理与实战优化_提升查询性能的关键技术解析MySQL索引原理与实战优化_提升查询性能的关键技术解析

    mysql索引类型包括b-tree、哈希、全文索引等,适用于不同查询场景。1.b-tree索引以树状结构存储数据,适合范围查询和排序;2.哈希索引适用于等值查询,但不支持范围查询;3.全文索引用于文本搜索。选择索引需考虑查询需求、数据类型及维护成本。索引失效常见原因包括使用函数、表达式、or条件不当…

    2026年8月28日 用户投稿
    100
  • mysql bit是什么类型

    mysql bit是“位数据”类型,其数据有两种取值,分别是0和1,长度为1位;MySQL提供了允许你存储位值的BIT类型,其“BIT(m)”可以存储多达m位的值,m的范围在1到64之间。 本教程操作环境:Windows10系统、mysql8版本、Dell G3电脑。 mysql bit是什么类型?…

    2026年8月28日
    000
  • mysql默认字符集是什么

    mysql默认字符集是latin1,而该字符集是不支持中文的,所以导致当插入的数据含有中文时,会出现乱码或者无法插入到数据库中;在mysql实践中,建议使用utf8mb4来作为默认的字符集。 本教程操作环境:Windows10系统、MySQL5.7版本、Dell G3电脑。 mysql默认字符集是什…

    2026年8月28日
    000
  • ThinkPHP 数据库连接与查询构造器实战

    在 thinkphp 中进行数据库操作的方法包括:1. 通过配置文件和 db 类连接数据库;2. 使用查询构造器构建 sql 查询;3. 执行 crud 操作;4. 进行关联查询;5. 调试和优化查询性能;6. 应用性能优化策略和最佳实践。 引言 在当今的 Web 开发领域,ThinkPHP 作为一…

    2026年8月28日
    000
  • mysql.frm是什么文件

    mysql “.frm”是指表定义,是描述表结构的文件,而“.ibd”是指表数据和索引的文件,该表的索引(B+树)的每个非叶子节点存储索引,叶子节点存储索引和索引对应的数据。 本教程操作环境:Windows10系统、MySQL5.7版本、Dell G3电脑。 mysql.frm是什么文件? mysq…

    2026年8月28日
    100
  • mysql视图是什么

    mysql视图是什么mysql视图是什么mysql视图是什么mysql视图是什么

    mysql视图是一个虚拟表,其内容由查询定义;视图包含系列带有名称的列和行数据,而行和列数据来自定义视图的查询所引用的表,并且在引用视图时动态生成,简单的来说视图是由select结果组成的表。 本教程操作环境:Windows10系统、MySQL5.7版本、Dell G3电脑。 什么是MySQL视图?…

    2026年8月28日 用户投稿
    200
  • mysql事务是什么

    mysql事务是指对数据库执行一批操作,在同一个事务当中,这些操作最终要么全部执行成功,要么全部失败,不会存在部分成功的情况;事务是一个原子操作,是一个最小执行单元,可以由一个或多个SQL语句组成。 本教程操作环境:Windows10系统、MySQL5.7版本、Dell G3电脑。 事务详解 什么是…

    2026年8月28日
    100
  • mysql中.ibd是什么文件

    mysql中.ibd是什么文件mysql中.ibd是什么文件mysql中.ibd是什么文件mysql中.ibd是什么文件

    在MySQL中,ibd是数据文件、索引文件,主要用于存储数据,是MySQL中必不可少的一部分。MySQL的IBD文件可以提高MySQL数据库的性能,非常适用于非结构化的大型数据库。MySQL的IBD文件具有很好的可扩展性,并且可以保护数据的完整性;在分层的数据库架构机制中,使用IBD文件可以有效地扩…

    2026年8月28日 用户投稿
    200
  • mysql存储过程有什么用

    mysql存储过程有什么用mysql存储过程有什么用mysql存储过程有什么用mysql存储过程有什么用

    mysql存储过程的作用:1、通过把处理封装在容易使用的单元中,简化复杂的操作;2、简化对变动的管理;3、有助于提高应用程序的性能;4、有助于减少应用程序和数据库服务器之间的流量,因为应用程序不必发送多个冗长的SQL语句,而只用发送存储过程的名称和参数;5、可增强SQL语句的功能和灵活性,使mysq…

    2026年8月28日 用户投稿
    200
  • 优化 Workerman 网络 I/O,提升并发处理能力的方法有哪些?

    workerman 可以通过以下方法优化网络 i/o 以提升并发处理能力:1. 增加进程数以提高并发处理能力;2. 使用异步连接池优化数据库操作;3. 合理设置进程数;4. 使用连接池管理数据库连接;5. 应用数据压缩技术减少网络传输量;6. 保持代码的简洁和可读性。 引言 在现代互联网应用中,高并…

    2026年8月28日
    500
  • mysql中什么是前缀索引

    mysql中什么是前缀索引mysql中什么是前缀索引mysql中什么是前缀索引mysql中什么是前缀索引

    在mysql中,前缀索引是一种特殊索引类型,是对文本的前几个字符建立索引;这种索引类型可以在一定程度上减少索引的大小,可以更加高效地处理一些特定的查询操作。通常情况下,索引长度应该越短越好,因为短索引可以减小索引的大小,但是如果索引长度太短,可能会出现索引失效的情况,导致查询效率反而变慢;因此,在使…

    2026年8月28日 用户投稿
    300
  • mysql支持unique索引吗

    mysql支持unique索引。在MySQL中,UNIQUE索引允许用户在一个或多个列中强制实现值的唯一性,可以防止表中一个或多个列中拥有重复的值;每个表可以有多个UNIQUE索引,且UNIQUE索引中可以具有多个NULL值。 本教程操作环境:windows7系统、mysql8版本、Dell G3电…

    2026年8月28日
    300
  • mysql sakila是什么

    mysql sakila是一个样本数据库;sakila样本数据库是MySQL官方提供的一个模拟DVD租赁信息管理的数据库,提供了一个标准模式,可作为书中例子、教程、文章、样品等。 本教程操作环境:Windows10系统、mysql8版本、Dell G3电脑。 mysql sakila是什么? MyS…

    2026年8月28日
    200
  • mysql外键是什么

    mysql外键是什么mysql外键是什么mysql外键是什么mysql外键是什么

    mysql外键是一个非常好用的数据处理功能,可以快速地进行表之间的数据更新;简单的来说就是可以将两张表之间建立一个关联,能做到操作一张表的时候,另外一个表的数据也会同步发生变化。 本教程操作环境:Windows10系统、mysql8版、Dell G3电脑。 mysql外键是什么? Mysql外键的使…

    2026年8月28日 用户投稿
    200
  • mysql insert返回值是什么

    在mysql中,insert语句的返回值是新增数据的ID。INSERT语句用于向数据库已有的表中插入一行或者多行元组数据,语法“INSERT INTO table(column1,column2…) VALUES (value1,value2,…);”;“INSERT INT…

    2026年8月28日
    100
  • Laravel 环境搭建与基础配置(Windows/Mac/Linux)

    在不同操作系统上搭建 laravel 环境的步骤如下:1. windows:使用 xampp 安装 php 和 composer,配置环境变量,安装 laravel。2. mac:使用 homebrew 安装 php 和 composer,安装 laravel。3. linux:使用 ubuntu …

    2026年8月28日
    200
  • 一文详解MySQL怎么批量更新死锁

    本篇文章给大家带来了关于mysql的相关知识,其中主要跟大家聊聊mysql怎么批量更新死锁,有代码示例,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。 表结构如下: CREATE TABLE `user_item` ( `id` BIGINT(20) NOT NULL, `user_id` BI…

    2026年8月28日
    000
  • mysql innodb是什么

    mysql innodb是什么mysql innodb是什么mysql innodb是什么mysql innodb是什么

    InnoDB是MySQL的数据库引擎之一,现为MySQL的默认存储引擎,为MySQL AB发布binary的标准之一;InnoDB采用双轨制授权,一个是GPL授权,另一个是专有软件授权。InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID);InnoDB支持行级锁,行级锁可以最大程度的支持…

    2026年8月28日 用户投稿
    000
  • Mysql虚表是什么

    虚拟表是实际上并不存在(物理上不存在),但是逻辑上存在的表。在mysql中,存在三种虚拟表:临时表、内存表和视图;而只能从select语句可以返回虚拟表的是视图和派生表。视图是为了方便多个表联表查询而设计的,所以视图也是多个表中的字段由各个表中的关联关系而创建的一种虚拟表。 本教程操作环境:wind…

    2026年8月28日
    100
  • mysql脏页是什么

    在mysql中,当内存数据页和磁盘数据页上的内容不一致时,则称这个内存页为脏页。刷脏页的场景:1、当redo log写满,mysql就会暂停所有更新操作,将同步这部分日志对应的脏页同步到磁盘;2、系统内存不足时,需要淘汰一部分数据页,如果淘汰的是脏页,就要先将脏页同步到磁盘;3、MySQL认为系统空…

    2026年8月28日
    400

发表回复

登录后才能评论
关注微信