![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
こんにちは。
現在アンケートサイトを作成しているのですが、チェックボックスを利用した質問の複数選択した回答をデータベースに登録できません。
htmlやphp、PostgreSQLに詳しい方指摘お願いします。
※sample.html
<form method="post" action="sample.php">
<b>7.あなたはどのような資格を持っていますか?</b><br>
<input type="checkbox" name="sikaku[]" value="1" checked>ITパスポート
<input type="checkbox" name="sikaku[]" value="2">漢字検定3級以上
<input type="checkbox" name="sikaku[]" value="3">英語検定3級以上
<input type="checkbox" name="sikaku[]" value="4">自動車運転免許
<input type="checkbox" name="sikaku[]" value="5">簿記
<input type="checkbox" name="sikaku[]" value="6">宅建
<input type="checkbox" name="sikaku[]" value="7">TOEIC600点以上
<input type="checkbox" name="sikaku[]" value="8">その他<br><br>
<input type="submit" name="OK" value="OK">
</form>
※sample.php
<?php
//htmlから"sikaku"を取得
$sikaku = $_REQUEST["sikaku"];
//dbに接続・dbに書き込みSQL文
$dbconn = pg_connect ("dbname=****** user=********");
$result = pg_query ($dbconn, urldecode("insert into sample03 values('$sikaku');"));
//接続を閉じる
pg_close($dbconn);
?>
※PostgreSQL(table : sample03)
//テーブル作成
********=> create table sample03(
********(> 資格 int);
CREATE TABLE
//権限
********=> grant select on sample03 to ********;
GRANT
//テーブルの表示
********=> select * from sample03;
資格
------
(0 rows)
No.1ベストアンサー
- 回答日時:
## php、PostgreSQLはさわっていないのであまり答える気はなかったけど。
チェックボックスを利用した質問の複数選択した回答ということなので、
漢字検定3級以上と英語検定3級以上にチェックを入れた場合、
//テーブル作成
********=> create table sample03(
********(> 資格 int);
の「資格」にはなにをいれるのでしょう?
ひょとして、23といれたい?
html上(というかブラウザ上というかそのDOM上ではというべきか?)では、sikaku[]は配列として扱われています。
だから、$sikaku = $_REQUEST["sikaku"];の結果は配列変数を受け取ると思うけど、
・・・文字列変数として受け取れるのかもしれません。
(ここは私はわかりません。)
配列変数となっているなら$sikaku[0],$sikaku[1],・・・を順につなげる必要あるはずです。
で、SQLですが、
insert into sample03 values('$sikaku')
のように''で囲むと文字型になり、数値型の項目に値を入れるときは大抵のデータベースではエラーに
なります。(PostgreSQLはよく知りませんけど、タブンエラーになるはず)
ここかもしれません。
どちらにしろ、$result にエラーが返ってきているのでは?
$result か他のエラーコードなどを参照できるようにして確認するほうがいいでしょう。
## 申し訳ないけど、これの方法は私はわかりませんので他の方の回答待ちしてください。
お返事ありがとうございました。
うまくチェックボックスのデータが書き込みできないので、phpやPosegreSQLの本を借りて勉強してみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP $_SESSIONについて教えて下さい。 2 2023/03/02 09:18
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP php ログイン 1 2022/11/01 00:24
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
timestampのデータはどのように...
-
SERIAL型の省略入力について
-
同時アクセス
-
【SQL】他テーブルに含まれる値...
-
SELECT INTOで一度に複数の変数...
-
フラグをたてるってどういうこ...
-
truncate tableを使って複数の...
-
オラクルのUPDATEで複数テーブル
-
sqlに記述できない文字
-
UPDATEで既存のレコードに文字...
-
SQLで、Join句で結合したテ...
-
'modify' 付近に不適切な構文が...
-
テーブル名が可変の場合のクエ...
-
SELECTした結果に行番号を求めたい
-
ExcelのVLOOKUP関数の動作をMyS...
-
ACCESS クエリーでソートの不具合
-
Accessの構成をコピーしたい
-
同一テーブル内での比較(最新...
-
ExcelのMatch関数のようなもの...
-
Accessで今日から5日後
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
timestampのデータはどのように...
-
エクセルvbaでpostgresに接続を...
-
SERIAL型の省略入力について
-
PHPでInsertを実行したら空白の...
-
SQLServer からのデータ移行(v...
-
insert処理でDATE型を追加したい
-
チェックボックスからデータベ...
-
【SQL】他テーブルに含まれる値...
-
SELECT INTOで一度に複数の変数...
-
フラグをたてるってどういうこ...
-
スキーマ
-
sqlに記述できない文字
-
オラクルのUPDATEで複数テーブル
-
Accessで今日から5日後
-
UPDATEで既存のレコードに文字...
-
pandasでsqlite3にテーブル作成...
-
テーブル名が可変の場合のクエ...
-
PostgreSQLのtimestamp型で時間...
-
truncate tableを使って複数の...
-
IDとパスワードについて。
おすすめ情報