質問: ### 前提・実現したいこと ラジオボタンで選択したものをmysqlに格納したいです。 ### 試したこと teratail内を検索してみましたが見つかりませんでした。 見落としがありましたら上記とあわせて教えていただけると幸いです。 ### その他 よろしくお願いします。
回答: もう2年前の質問ですが、他の閲覧者の方もいると思うので、手助けできればと思い回答しました。 ※僕もPHP学習中の初心者のため、不適切な内容も含まれてるかと思うので、あくまで参考にしていただければと思います。 今回性別で男性か女性かを選択させるradioボタンを想定しています。 HTML側↓ 男性 女性 PHP側↓ //データベースに接続 ...省略 //ページの表示(try-catch構文) ...省略 フォーム受け取り ======== function ◎◎() { global $in; $param = array(); if (isset($_GET) && is_array($GET)) { $param += $_GET; } if (isset($_POST) && is_array($_POST)) { $param += $_GET; } foreach($param as $key => $val) { //2次元配列から値を取り出す if(is_array($val)) { $val = array_shift($val); } //文字コードの処理 $enc = mb_detect_encoding($val); $val = mb_convert_encoding($val, "UTF-8", $enc); //特殊文字の処理 $val = htmlentites($val, ENT_QUOTES, "UTF-8"); $in[$key] = $val; } return $in; } 実際に値を受け取らせるために実行する ================== function ××() { global $in; global ...(必要ものがあれば都度) プリペアードステートメントを準備 ================ $stmt = $db->prepare('INSERT INTO テーブル名($gender) VALUES(:gender)'); 変数の束縛 ===== $stmt->bindParam(':gender', $gender); 変数に値を設置し、SQLを実行 =============== $gender = $in["gender"]; $stmt->execute(); }