0

我正在尝试记录用户通过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现场呢?

4

2 回答 2

1

数据库中的字段类型设置为改为DateTime使用Time。它会起作用的。

于 2013-09-26T12:13:58.637 回答
1

将日期时间字段设置为仅时间字段,它将起作用

当将数据保存在接受这种格式的数据的字段中时 0000-00-00 00:00:00 这意味着 yyyy-mm-dd hh:mm:ss 如果您只想保存时间数据然后更改字段列键入时间。

于 2013-09-26T12:08:55.320 回答