unserialize() [function.unserialize]: Error at offset

シリアライズされた値をunserializeしようとしてエラーになることがある。

unserialize() [function.unserialize]: Error at offset


エスケープの問題の例もあるが、


このエラーは単純なeasyミスです。シリアル化したときにエスケープ文字が含まれているかどうか考慮すれば解決です。

「addslashes → serialize」
ならば 「unserialize → stripslashes」

「serialize → addslashes」
ならば 「stripslashes → unserialize」

ファイルにしたり、DBに登録するとうっかりミスしてしまうことがあるので気をつけましょう。

単純に値をちょっこっと手でいじくって、シリアル値としての整合性がとれなくなっているパターンもあるので、
下手にエディタとかで書き換えたりしないのが賢明