• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:配列をmysqlに保存)

配列をMySQLに保存する方法とデータの抽出方法

このQ&Aのポイント
  • 配列をMySQLに保存する際には、serialize/unserialize関数を使用することができます。
  • 具体的には、チェックボックスで複数選択された値を配列に格納し、serialize関数を使って文字列に変換してからMySQLに保存します。
  • また、保存したデータを抽出する際には、unserialize関数を使用して文字列を配列に戻すことができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

配列として保存されたものを直接書き出そうとすると、 「Array」としか表示されません。 保存しようとする場合は、その都度保存されたデータを展開しなくてはいけません。 例えばカンマ区切りにして保存してやり、取り出すときにカンマでばらしてやればいいわけです。 例) # 登録 $sql="insert into test (test) values (\"" .implode(",", $op) ."\")"; # 抽出 (略) $op = split(",",$col['test']); print_r($op);

briantaphy
質問者

お礼

すみません。解決しました。mysql上の問題でした。 わけの分からない補足質問でご迷惑をお掛けしましたが、本当に有難うごさいました。

briantaphy
質問者

補足

早速のご回答有難うございます。 ご指摘のとおり試してみると、見事にmysqlに保存することが出来ました。ただ抽出した際に上手く配列になっておらず、 $op[] = split(",",$col['test']); print_r($op); としましたが、表示が Array([0]=>ac [1]=>pw [2]=>cd [3]=>Array([0]=> N;)) とキー値[3]に余計なものが入ってしまいます。 これはこれで正しいのでしょうか?

関連するQ&A