2012-04-19 19 views
0
$array = array('1','2','3','4','5','6','10','100'); 
$array2 = serialize($array); 
if($stmt->prepare("UPDATE `users` SET `dungeon_list` = ? WHERE name = ?")) { $stmt->bind_param('bs',$array2,$user['name']); $stmt->execute(); } 

これは、mysqlに配列を格納する方法について私が学んだことです。MySQLを配列に格納して取得するPHP

echo unserialize($user['dungeon_list']); 

これは出力方法です。それは と述べています。unserialize()[function.unserialize]:12行目のC:\ wamp \ www \ index.phpのオフセット0のエラー

Dungeon_listは、それを保管するために使用することを学んだ。ありがとうございました!

+1

データベーステーブル内に文字列として配列を格納することは、私には爪のように黒板にしています...これは 'dungeon_to_user'のような別のテーブルで叫んでいます:\ – CD001

+0

私はそれをしたいと思います。各ダンジョンには100個の斑点があります。私は彼らが次のものに前進することができる前にそれぞれの場所に行ったかどうかを追跡したい。私はもっ​​と大きなダンジョンを考えたいと思っています。 100柱テーブルを悪くするだろうか? – AlanPHP

+1

さらにテーブルを追加することができます。ダンジョンにスポットを格納するdungeon_spotsと、特定のダンジョンでユーザーが訪れたスポットを追跡するdungeon_user_spotsです。 –

答えて

2

エンコードおよびデコード、あなたの配列をシリアライズする前に、それがいずれかを持っている場合ので、アンシリアライズしてみてください」、」、:。、または、配列がシリアライズが破損した値のいずれかで

//to safely serialize 
$safe_string_to_store = base64_encode(serialize($multidimensional_array)); 

//to unserialize... 
$array_restored_from_db = unserialize(base64_decode($encoded_serialized_string)); 
+0

同じエラーです。 :/ – AlanPHP

+0

上記アップデートを試す –

+0

完璧です。ありがとうございました! – AlanPHP

0

私にはありません

とにかく、PHP magic_quotes_gpcディレクティブが原因である可能性があります。もしそうであれば、ONに設定されているかどうかを確認することもできますOFFに設定してください。あなたの内容をどこで入手したのかなどの詳細を入力してくださいそのうちのvar_dumpまたはprint_rを示しています。

関連する問題