特的理念。’,
‘uid’ => 1,
‘nickname’ => ‘土豆男’,
’site’ => ”,
’sitetype’ => 1,
’starttime’ => 1191074174,
‘lasttime’ => 1191629784,
‘totleviews’ => 14,
‘totleblogs’ => 3
);
由于程序自動判斷了magic_quotes_gpc并將所有POST,GET的數(shù)據(jù)自動轉(zhuǎn)義(addslashes下),所以上面數(shù)組中的$message['sitename']在入庫之前就變成了土人/’部落,當(dāng)進(jìn)入MySQL數(shù)據(jù)庫的保存的時候,保存的內(nèi)容依然是 土人’部落(不要問我/’怎么入mysql庫以后就變成了’ 這是mysql的轉(zhuǎn)義特性,絕大多數(shù)數(shù)據(jù)庫也都是靠/來轉(zhuǎn)義的),這時候是沒有問題的。
當(dāng)從數(shù)據(jù)庫中查出這個字段,然后unserialize的時候問題就來了,由于從數(shù)據(jù)庫中查出來的是沒有轉(zhuǎn)義的 土人’部落 這個值,于是在unserialize的時候就會失敗。
想了幾種解決方式:
第一,將此數(shù)組不再存在一個字段內(nèi),每個key獨(dú)立存在一個字段內(nèi),此種被排除,系統(tǒng)已經(jīng)跑起來了,改起來麻煩的說。
第二,將數(shù)據(jù)在存入mysql之前對serialize的數(shù)組再addslashes下,這時候存入mysql的就是 土人/’部落 了,但是數(shù)據(jù)庫查出來unserialize之后的數(shù)據(jù)還是 土人/’部落 所以需要再次對此數(shù)組逐一stripslashes。
第三,放棄用戶體驗(yàn)吧:) ,不允許’/”出現(xiàn)在,有了就自動替換掉
新聞熱點(diǎn)
疑難解答
圖片精選