我正在使用表单使用 post 方法获取小时和分钟,然后将其存储到 mysql DB。
如 :
$hour = $_POST['hour'];
$minute = $_POST['minute'];
** 不需要日期、月份和年份。我只需要将小时和分钟存储在表格的列中(例如:exam_time)
列结构:exam_time time NOT NULL
现在如何使用 mktime() 函数将这些值存储到数据库中。我试过了,但它存储了 00:00:00,而不是我通过表单发送的那个。
我正在使用表单使用 post 方法获取小时和分钟,然后将其存储到 mysql DB。
如 :
$hour = $_POST['hour'];
$minute = $_POST['minute'];
** 不需要日期、月份和年份。我只需要将小时和分钟存储在表格的列中(例如:exam_time)
列结构:exam_time time NOT NULL
现在如何使用 mktime() 函数将这些值存储到数据库中。我试过了,但它存储了 00:00:00,而不是我通过表单发送的那个。
我认为您混淆了mktime
- http://php.net/manual/en/function.mktime.php的目的。
mktime
返回一个表示 unix 时间戳的整数值。
如果您需要存储时间值,请使用date
或getdate
函数将输入格式化为所需值。
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 . "' )"
我猜脚本是正确的,但是您将 MySQL 列设置为DATE
而不是DATETIME
?
使用 TIME_ZONE_SET(您的区域),然后使用在您的 MYSQL 中选择的 DATETIME 将(小时,分钟)插入到考试时间 VALUES (" '.date("H").'", "'.date("i").'")数据库。