我正在尝试记录用户通过select
表单选择的时间(小时:分钟:秒)。通过表单发布的其他数据在数据库中正确输入,但“开始时间”记录为0000-00-00 00:00:00
。
用户在此处选择开始时间:
<p >Start time (24hrs):
<span class="right">
Hour:
<select name="event-start-time-hours" class="event-time">
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08" selected>08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
</select>
Min:
<select name="event-start-time-mins" class="event-time">
<option value="00" selected >00</option>
<option value="05">05</option>
<option value="10">10</option>
<option value="15">15</option>
<option value="20">20</option>
<option value="25">25</option>
<option value="30">30</option>
<option value="35">35</option>
<option value="40">40</option>
<option value="45">45</option>
<option value="50">50</option>
<option value="55">55</option>
</select>
并通过以下方式记录:
$event = new event($_POST, $dbh);
// Record Event to database
$event->setEvent();
我在setevent()方法中格式化开始时间,如下所示:
// format start time
$stime = mktime($_POST['event-start-time-hours'], $_POST['event-start-time-mins'], 0);
$eventStartTime = date("H:i:s", $stime);
并绑定变量,如os:
$stmt->bindParam(11, $eventStartTime);
与表中的正确列相关。
那么为什么它不会记录在datetime
字段中?
答案 0 :(得分:1)
仅将日期时间字段设置为时间字段,它将起作用
当在一个接受此格式的数据的字段中保存数据的时候00:00:00这意味着yyyy-mm-dd hh:mm:ss如果你只想保存时间数据那么改变字段列类型为时间。
答案 1 :(得分:1)
数据库中的字段类型设置为DateTime
使用Time
。
它会起作用。