mysql存储数据需要服务器吗_使用MySQL存储会话数据

【IT168 服务器学院】为了把会话数据存入数据库,需要先创建一个数据表。

CREATE TABLE sessions

(

id varchar(32) NOT NULL,

access int(10) unsigned,

data text,

PRIMARY KEY (id)

);

session_set_save_handler(''_open'', ''_close'', ''_read'',

''_write'',''_destroy'',''_clean'');

function _open()

{

global $_sess_db;

$db_user = $_SERVER[''DB_USER''];

$db_pass = $_SERVER[''DB_PASS''];

$db_host = ''localhost'';

if ($_sess_db = mysql_connect($db_host, $db_user, $db_pass))

{

return mysql_select_db(''lyw'', $_sess_db);

}

return FALSE;

}

function _close()

{

global $_sess_db;

return mysql_close($_sess_db);

}

function _read($id)

{

global $_sess_db;

$id = mysql_real_escape_string($id);

$sql = "SELECT data FROM sessions WHERE id = ''$id''";

if ($result = mysql_query($sql, $_sess_db))

{

if (mysql_num_rows($result))

{

$record = mysql_fetch_assoc($result);

return $record[''data''];

}

}

return '''';

}

function _write($id, $data)

{

global $_sess_db;

$access = time();

$id = mysql_real_escape_string($id);

$access = mysql_real_escape_string($access);

$data = mysql_real_escape_string($data);

$sql = "REPLACE INTO sessions VALUES (''$id'', ''$access'', ''$data'')";

return mysql_query($sql, $_sess_db);

}

function _destroy($id)

{

global $_sess_db;

$id = mysql_real_escape_string($id);

$sql = "DELETE FROM sessions WHERE id = ''$id''";

return mysql_query($sql, $_sess_db);

}

function _clean($max)

{

global $_sess_db;

$old = time() - $max;

$old = mysql_real_escape_string($old);

$sql = "DELETE FROM sessions WHERE access < ''$old''";

return mysql_query($sql, $_sess_db);

}

session_start();

echo "Hello world!";

$_SESSION[''name''] = "liuyiwei";

$_SESSION[''desc''] = "This is only a test of session storage!";

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值