serialize
储存资料到系统中。语法: string serialize(mixed value);返回值: 字符串函数种类: 资料处理内容说明
本函数可储存资料到系统中。储存的资料以 byte-stream 方式存放。变量 value 为混合类型,包括整数、倍精确浮点数字符串、数组以及类的属性 (类的方法无法储存)。
储存资料到系统中。语法: string serialize(mixed value);返回值: 字符串函数种类: 资料处理内容说明
本函数可储存资料到系统中。储存的资料以 byte-stream 方式存放。变量 value 为混合类型,包括整数、倍精确浮点数字符串、数组以及类的属性 (类的方法无法储存)。
unserialize
取出系统资料。语法: mixed unserialize(string str);返回值: 混合类型资料函数种类: 资料处理
内容说明
本函数可取出系统资料。储存的资料以 byte-stream 方式存放。返回值为混合类型,包括整数、倍精确浮点数字符串、数组以及类的属性 (类的方法无法储存)。
使用范例
<?php
$conn = odbc_connect("webdb", "php", "chicken");
$stmt = odbc_prepare($conn, "SELECT data FROM sessions WHERE id = ?");
$sqldata = array($PHP_AUTH_USER);
if (!odbc_execute($stmt, &$sqldata) || !odbc_fetch_into($stmt, &$tmp)) {
// 若执行则 $session_data 设为空值
$session_data = array();
} else {
// 取出 $tmp[0] 值
$session_data = unserialize($tmp[0]);
if (!is_array($session_data)) {
// 出现错误则将 $session_data 清除
$session_data = array();
}
}
?>
一个项目里要保存一些表单到数据库里
而填写是分步骤的,
于是把填写的内容存在session中,
再把session给serialize成一个字符串,
保存到数据库中但是问题来了
一次有个笨用户抄了一大段文本
serialize出来的字符串好长好长,
但是序列化是成功的,
想unserialize却失败了所以估计 unserialize 是有长度限制的
后来我限制了文本的长度算是解决了这个问题.