0

我正在使用表单使用 post 方法获取小时和分钟,然后将其存储到 mysql DB。

如 :

$hour = $_POST['hour'];
$minute = $_POST['minute'];

** 不需要日期、月份和年份。我只需要将小时和分钟存储在表格的列中(例如:exam_time)

列结构:exam_time time NOT NULL

现在如何使用 mktime() 函数将这些值存储到数据库中。我试过了,但它存储了 00:00:00,而不是我通过表单发送的那个。

4

4 回答 4

2

我认为您混淆了mktime- http://php.net/manual/en/function.mktime.php的目的。

mktime返回一个表示 unix 时间戳的整数值。

如果您需要存储时间值,请使用dategetdate函数将输入格式化为所需值。

于 2012-11-12T10:57:33.490 回答
2

mktime(), date(),getdate()都处理 UNIX 时间戳。

在您的情况下,您有两个单独的小时和时间字段。mySQL 中的 TIME 列不处理 UNIX 时间戳,因此您不应使用上述函数。

范围是“-838:59:59”到“838:59:59”。MySQL 以 'HH:MM:SS' 格式显示 TIME 值,但允许您使用字符串或数字将值分配给 TIME 列

因此,根据这个,您可以尝试插入一个新的时间值,如下所示:

"INSERT INTO mytable ( exam_time ) VALUES ( '" . $hour . ":" . $minute . "' )"
于 2012-11-12T11:08:38.707 回答
1

我猜脚本是正确的,但是您将 MySQL 列设置为DATE而不是DATETIME?

于 2012-11-12T11:01:26.047 回答
0

使用 TIME_ZONE_SET(您的区域),然后使用在您的 MYSQL 中选择的 DATETIME 将(小时,分钟)插入到考试时间 VALUES (" '.date("H").'", "'.date("i").'")数据库。

于 2012-11-12T11:23:46.867 回答