営業時間をhtmlで書いたフォームで入力した物を、phpでmysqlに居れようとしています。
下記のように、htmlでフォームを作って
html
1<br> 2【営業日】<br> 3<table border="1"> 4<tr> 5<th>曜日</th> 6<td>午前</td> 7<td>午後</td> 8<td>夜</td> 9<td>深夜</td> 10<td>予備</td> 11</tr> 12<tr> 13<th>月曜日</th> 14<td>開始<input type="time" name="monday_am_start"><br>終了<input type="time" name="monday_am_end"></td> 15<td>開始<input type="time" name="monday_pm_start"><br>終了<input type="time" name="monday_pm_end"></td> 16<td>開始<input type="time" name="monday_ni_start"><br>終了<input type="time" name="monday_ni_end"></td> 17<td>開始<input type="time" name="monday_ln_start"><br>終了<input type="time" name="monday_ln_end"></td> 18<td>開始<input type="time" name="monday_pr_start"><br>終了<input type="time" name="monday_pr_end"></td> 19</tr> 20</table> 21<br>
phpで、クエリのパラメーターに、フォームからPOSTでとってきて、.を使って文字列として連結しようとしています。
php
1 $sql = <<< QUERY 2 INSERT INTO business_hour 3 VALUES(NULL,:monday) 4 QUERY; 5$monday = $_POST['monday_am_start'].$_POST['monday_am_end'].$_POST['monday_pm_start'].$_POST['monday_pm_end'].$_POST['monday_ni_start'].$_POST['monday_ni_end'].$_POST['monday_ln_start'].$_POST['monday_ln_end'].$_POST['monday_pr_start'].$_POST['monday_pr_end']; 6 $param = array(":monday" =>$monday); 7 $stmt = execute( $conn, $sql, $param );
例えば
monday_am_startに0900
monday_am_endに1000
monday_pm_startに1100
monday_pm_endに1200
と、フォームで入力したら
MySQLのカラムには
0900100011001200
と入ってほしいのですが、現状「9」しか入りません。
.で文字列が連結される認識なのですが、何が間違っているかご教授お願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。