###前提・実現したいこと
体育館の予約システムを組んでいます。プログラム自体に問題はなく、エラーも発生しないのですが、なぜかデータベースに予約内容が追加されません。
###発生している問題・エラーメッセージ
エラーは発生していません。
データベースへの予約内容の追加がされません。
###該当のソースコード
PHP
1 2<html> 3<head> 4 <title>reserve_scr</title> 5 6</head> 7 <body> 8 <?php 9 10 if (empty ($_GET['reserveID'])) { 11 print"予約内容を入力してください<br>\n"; 12 disp_form(); 13 } 14 else { 15 tsuika($_GET['reserveID'],$_GET['date'],$_GET['jikan'],$_GET['place']); 16 } 17 18 function disp_form() { 19 $pdo = new PDO('mysql:host=localhost; 20 dbname=taiikukandb;charset=utf8','dbuser','abc123'); 21 $pdo -> setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 22 $sql = "SELECT max(reserveID) as new_reserve_id FROM `yoyaku_tbl`"; 23 $stmt = $pdo -> query($sql); 24 $row = $stmt -> fetch(PDO::FETCH_ASSOC); 25 $reserveID = htmlspecialchars($row["new_reserve_id"] +1); 26 27 28 29 print <<< FRM1 30 <form action="./reserve_scr.php" method="get"> 31 <table border=0"> 32 <tr> 33 <td>予約番号</td> 34 <td> 35 {$reserveID} 36 37 </td></tr> 38 39 <tr> 40 <td>日付</td> 41 <td><input type="text" name="date">(半角8桁 例:20100509)</td></tr> 42 43 <tr> 44 <td>時間帯</td> 45 <td><select name="jikan"> 46 <option value="gozen">午前</option> 47 <option value="gogo">午後</option> 48 <option value="yakan">夜間</option></select></td></tr> 49 50 <tr> 51 <td>使用場所</td> 52 <td><select name="place"> 53 <option value="main">メインアリーナ</option> 54 <option value="sub">サブアリーナ</option> 55 <option value="kakugi">格技場</option> 56 <option value="Aroom">控え室A</option> 57 <option value="Broom">控え室B</option> 58 <option value="Croom">控え室C</option> 59 <option value="Droom">控え室D</option></select></td></tr> 60</table> 61<br> 62<input type="submit" value="予約"> 63</form> 64FRM1; 65 66} 67 68 69//追加処理 70function tsuika($reserveID,$date,$jikan,$place) { 71 72 try{ 73 $pdo = new PDO('mysql:host=localhost; 74 dbname=taiikukandb;charset=utf8','dbuser','abc123'); 75 $pdo -> setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 76 $pdo -> setAttribute(PDO::ATTR_EMULATE_PREPARES,false); 77 $pdo -> beginTransaction(); 78 79 $query="insert into yoyaku_tbl(reserveID,date,jikan,place) 80 values(:reserveID,:date,:jikan,:place)"; 81 82 $stmt = $pdo -> prepare($query); 83 84 $stmt -> bindValue(':reserveID',$reserveID,PDO::PARAM_INT); 85 $stmt -> bindValue(':date',$date,PDO::PARAM_STR); 86 $stmt -> bindValue(':jikan',$jikan,PDO::PARAM_STR); 87 $stmt -> bindValue(':place',$place,PDO::PARAM_STR); 88 89 $stmt -> execute(); 90 $pdo -> commit(); 91 92 } catch(PDOException $Exeption) { 93 $pdo-> rollback(); 94 die('DBエラー:'.$Exeption -> getMessage()); 95 } 96print <<< FRM2 97<br> 98<form action="./reserve_scr.php" method="get"> 99<input type="submit" value="もう一回!"> 100</form> 101FRM2; 102 103} 104 ?> 105</body> 106</html> 107
###試したこと
データベースへのアクセス関連を見直しましたが、僕の知識ではどこが変なのか見当がつきません。
###補足情報(言語/FW/ツール等のバージョンなど)
PHPを使っています。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/30 03:03