时间没有记录在mysql数据库中

时间:2013-09-26 12:02:34

标签: php mysql database datetime mktime

我正在尝试记录用户通过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字段中?

2 个答案:

答案 0 :(得分:1)

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

当在一个接受此格式的数据的字段中保存数据的时候00:00:00这意味着yyyy-mm-dd hh:mm:ss如果你只想保存时间数据那么改变字段列类型为时间。

答案 1 :(得分:1)

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