2012-04-25 28 views
0

iはPHPシリアル化機能解析エラー

$x = array(
    1 => 16, 
    2 => 8 
); 

$y = serialize($x); 

iがnotormを使用しています。この配列と今、このクエリを持って

$db->table()->update(array('config' => $y)); 

クエリ

update table set config = 'a:2:{i:1;i:16;i:2;i:8;}' 

が、テーブル内の

a?:{i?;s?:"16";i?;s?:"8";} 

今の質問は

+5

"奇妙な"文字セットを使用していますか? –

+2

なぜserialize()関数があると思いますか? –

+0

'var_dump($ y)'は何を表示しますか? – CodeCaster

答えて

1

は、データベース内のデータを保持するフィールドがutf8_general_ci(優先のいずれかの文字エンコーディングに設定されていることを確認してくださいシリアル化するために起こっているものです)またはlatin1_general_ci

+0

と同じように働いています。私は同じものを別のテーブルに使っています。 –