###前提・実現したいこと
チェックボックスでチェックしたデータを、データベースに登録したいのですが、うまく登録することができません・・。
arrayデータをデータベースに格納するには、通常のテキストの登録とはちがった処理が必要になるのでしょうか?
###ソースコード
下記の$allergyで「かに」「小麦粉」「卵」のようなチェックボックスで選択された複数データを受け取り、データベースに格納しようとしています。
$nameや$addressでは単体のデータを受け取っていますが、こちらはうまく受け取ることができています。
【phpチェックボックス文】
<tr class="form-table-tr"> <th>アレルギー</th> <td><input type="checkbox" name="allergy[]" value="1">麦 <input type="checkbox" name="allergy[]" value="2">たまご <input type="checkbox" name="allergy[]" value="3">かに <input type="checkbox" name="allergy[]" value="4">えび <input type="checkbox" name="allergy[]" value="5">ピーナッツ </td> </tr>
【登録文】
<body> <?php $dsn ='mysql:dbname=peco_table;host=localhost'; $user='root'; $password=''; $dbh=new PDO($dsn,$user,$password); $dbh->query('SET NAMES utf8'); $name=$_POST['name']; $address=$_POST['address']; $allergy=$_POST['allergy']; print 'タイトル';; print $name; print "詳細"; foreach($_POST['allergy'] as $value){ echo"{$value},"; } $sql='INSERT INTO peco_an_table2(name,address,allergy)VALUES("'.$name.'","'.$address.'","'.$allergy.'")'; $stmt=$dbh->prepare($sql); $stmt->execute(); $dbh=null; ?> </body>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。