unserialize():Error at offset 0 of 96 bytes是什么意思

数据库有个列是数组序列化后存到数据库的,取出来得反序列化,

php想要把数组保存到数据库里,有几种序列化方式,分别是:

//php系统序列化

$b = serialize($a);     //序列化数组$a,得到字符串$b,存到数据库
$a = unserialize($b);     //从数据库取出来,反序列化字符串$b,得到数组$a

//使用json序列化

$b = json_encode($a);     //序列化数组$a,生成字符串
$a = json_decode($b);     //反序列化字符串$b,生成数组

还有 addslashes()与stripslashes()

默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。这是为了数据库的安全性。一些字符直接存储在数据库中是不安全的,他们是: 单引号 (') 双引号 (") 反斜杠 (\) NULL ************************************************************************************************************** addslashes() 函数在指定的预定义字符前添加反斜杠。这些预定义字符是: 单引号 (') 双引号 (") 反斜杠 (\) NULL ************************************************************************************************************** addslashes() 的例子: "; echo addslashes($str) . " This is safe in a database query."; ?> 输出: Who's John Adams? This is not safe in a database query. Who\'s John Adams? This is safe in a database query. ************************************************************************************************************** stripslashes() 函数是 addslashes() 的反向操作,即:删除由 addslashes() 函数添加的反斜杠。 ************************************************************************************************************** stripslashes() 例子: 输出: Who's John Adams? 

猜你喜欢

转载自blog.csdn.net/u012767761/article/details/82831389