![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
チェックボックスで複数選択されたチェックボックスの値を配列としてmysqlに保存したいのですがどうも上手くいきません。いろいろweb上で探してみましたが、serialize/unserialize関数?を使うのでしょうか?ちなみに抽出も上手くいきません。どなたか教えていただけませんか?宜しくお願いします。以下スクリプトの一部です。
//配列
<input type='checkbox' name='op[]' value='ac'>ac
<input type='checkbox' name='op[]' value='pw'>pw
<input type='checkbox' name='op[]' value='cd'>cd
//データベースに登録
$sql="insert into test (test) values (\"$op\")";
mysql_query($sql,$con);
//データベースから配列として抽出
$sql = "select * from op";
$rst = mysql_query($sql,$con);
$col = mysql_fetch_array($rst);
$op = $col[op];
No.1ベストアンサー
- 回答日時:
配列として保存されたものを直接書き出そうとすると、
「Array」としか表示されません。
保存しようとする場合は、その都度保存されたデータを展開しなくてはいけません。
例えばカンマ区切りにして保存してやり、取り出すときにカンマでばらしてやればいいわけです。
例)
# 登録
$sql="insert into test (test) values (\"" .implode(",", $op) ."\")";
# 抽出
(略)
$op = split(",",$col['test']);
print_r($op);
この回答への補足
早速のご回答有難うございます。
ご指摘のとおり試してみると、見事にmysqlに保存することが出来ました。ただ抽出した際に上手く配列になっておらず、
$op[] = split(",",$col['test']);
print_r($op);
としましたが、表示が
Array([0]=>ac [1]=>pw [2]=>cd [3]=>Array([0]=> N;))
とキー値[3]に余計なものが入ってしまいます。
これはこれで正しいのでしょうか?
すみません。解決しました。mysql上の問題でした。
わけの分からない補足質問でご迷惑をお掛けしましたが、本当に有難うごさいました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- PHP $_SESSIONについて教えて下さい。 2 2023/03/02 09:18
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
String だと「 ByRef引数の型が...
-
連想配列のprint_rやvar_dump出...
-
foreachのなかで次のキーを参照...
-
漢字のソートについて
-
file_existsでファイル名の部分...
-
配列を回すとき、最後の要素だ...
-
$_SESSIONに二次元配列を使える...
-
PHP初心者です whileの回数を...
-
【PHP】count( )の結果に納...
-
PHPでドメイン検索?
-
Smartyのテンプレートからjavas...
-
Doctrine(ORM)での複数行Insert
-
セッション配列の取得の仕方
-
phpのfor文の中で配列を作りた...
-
テーブルの行と列の入れ替えは可?
-
preg_replace ereg_replace
-
fgetsで取り込んだ文字をexplod...
-
emptyとcount
-
多次元配列から任意の配列を取...
-
parse_ini_file関数について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
$_SESSIONに二次元配列を使える...
-
file_existsでファイル名の部分...
-
配列をループでたくさん宣言し...
-
foreachのなかで次のキーを参照...
-
String だと「 ByRef引数の型が...
-
PHPのカッコ[ ]の使い方について
-
配列を回すとき、最後の要素だ...
-
配列一致(要素順番は違うが内容...
-
チェックボックス複数選択 mys...
-
漢字のソートについて
-
postgresql関数をつかったレコ...
-
ネストが深い時のforeachはどう...
-
URLのサブドメインとドメイン部...
-
OCI で、SELECT結果行数を取得...
-
【Smarty】foreach関数やsectio...
-
$_POSTを一括してサニタイズし...
-
phpで、連想配列を普通の配列に...
-
チェックボックスが複数選択で...
-
連想配列のprint_rやvar_dump出...
-
PHP 配列の添字に変数は使えない?
おすすめ情報