1. 程式人生 > >unserialize():Error at offset 0 of 96 bytes是什麼意思

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?