前提・実現したいこと
PHPを用いたアンケートシステムを作っています。
phpMyAdminを用いてmysqlにデータベースを作成し、アンケートの結果を受け取ろうとしたところ、「返り値が空でした (行数 0)」となってしまい受け取ることができません。
発生している問題・エラーメッセージ
返り値が空でした (行数 0) SELECT * FROM `num_of_shots`
該当のソースコード
・HTML部分 <!DOCTYPE html> <HTML lang="ja"> <HEAD> <TITLE>デジカメアンケート</TITLE> <META http-equiv="Content-Type" content="text/html; charset=utf-8" /> </HEAD> <BODY> <H2>データベースの扱い(回答確認)</H2> <H3>デジカメに関するアンケート</H3> <form method="POST" action="sample2.php"> <label>性別:</label> <input type="radio" name="gender" value="男"checked>男 <input type="radio" name="gender" value="女">女<br/> <label>年代:</label> <select name="age"> <option value="10代">10代</option> <option value="20代">20代</option> <option value="30代">30代</option> <option value="40代">40代</option> <option value="50代">50代</option> <option value="60代">60代</option> <option value="70歳以上">70歳以上</option> </select> <br/> <label>職業:</label> <select name="job"> <option value="学生">学生</option> <option value="会社員">会社員</option> <option value="公務員">公務員</option> <option value="自営業">自営業</option> <option value="自由業">自由業</option> <option value="アルバイト">パート・アルバイト</option> <option value="その他">その他</option> </select><br/> <label>カメラの種類</label> <select name="kind"> <option value="一眼レフ">一眼レフ</option> <option value="ミラーレンズ">ミラーレンズ</option> <option value="コンパクト">コンパクト</option> <option value="携帯・スマホ" selected>携帯・スマホ</option> <option value="その他">その他</option> </select><br/> <label>一週間の撮影枚数:</label> およそ<input type="text" size="4" name="shots">コマ程度 <br/><br/> <label>ボタンを押して内容をご確認ください。</label><br/> <input type="submit" value='回答内容を確認'> <input type="reset" value="取り消し"> </form> </BODY> </HTML> ・PHPデータ受け取り部分 <!DOCTYPE html> <HTML lang="ja"> <HEAD> <TITLE>デジカメアンケート</TITLE> <META http-equiv="Content-Type" content="text/html; charset=utf-8" /> </HEAD> <BODY> <H2>データベースの扱い(回答確認)</H2> <H3>デジカメに関するアンケート</H3> <?php if(($_POST['shots']=='')||(!isset($_POST['shots']))){ echo "<p>データが未入力です。<br/>入力画面に戻ってください。</p>"; }else{ $gender=$_POST['gender']; $age=$_POST['age']; $job=$_POST['job']; $kind=$_POST['kind']; $shots=$_POST['shots']; echo'<h2>ご回答内容</h2>'; echo'性別:'.$gender.'<br/>'; echo'年代:'.$age.'<br/>'; echo '職業 : '.$job.'<BR />'; echo 'カメラ種類 : '. $kind.'<BR />'; echo '撮影枚数 : '.$shots. 'コマ程度<BR />'; echo '<BR />'; echo'<form method="POST" action="thanks.php">' ; echo'<input name="gender" type="hidden" value="'.$gender.'">'; echo'<input name="age" type="hidden" value="'.$age.'">'; echo'<input name="job" type="hidden" value="'.$job.'">'; echo'<input name="kind" type="hidden" value="'.$kind.'">'; echo'<input name="shots" type="hidden" value="'.$shots.'">'; echo'<p>上記の内容でよろしければ、[書込]を押してください。</p>'; echo '<input type="submit" value="書込">'; echo ' '; echo '</form>'; } echo '<form>'; echo '<input type=button onclick="history.back()" value="戻る">'; echo '</form>'; ?> </BODY> </HTML> ・PHPデータ書き込み部分 <!DOCTYPE html> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLe>example10-2</TITLE> </HEAD> <BODY> <H2>データベースの扱い(書き込み)</H2> <H3>デジカメに関するアンケート</H3> <?php try{ $dsn='mysql:host=localhost;dbname=digicam_q;charset=utf8'; $user='root'; $password=''; $dbh=new PDO($dsn,$user,$password); $gender=$_POST['gender']; $age=$_POST['age']; $job=$_POST['job']; $kind=$_POST['kind']; $shots=$_POST['shots']; echo 'ご回答ありがとうございました。<br/>'; $sql='INSERT INTO num_of_shots(性別,年代,職業,種類,撮影枚数) VALUES("'.$gender.'","'.$age.'","' .$job.'","'.$kind.'",'.$shots.');'; $stmt=$dbh->prepare($sql); $stmt->execute(); }catch(PDOException $e){ echo '障害によりご迷惑をおかけしています。<BR />'; echo 'エラーの内容 : '. mb_convert_encoding($e->getMessage(), "UTF-8", "SJIS"); echo $e->getCode(); } $dbh=null; ?> </BODY> </HTML>
HTML、PHP
試したこと
Chromeの検索履歴やキャッシュの消去を行いましたが改善しませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー