我有一个表,其中有两个具有日期数据类型的字段。我在将日期类型的表单中的值插入此表时遇到困难。
我用来插入的php:
$query = "INSERT INTO JOB_TBL(JT_JOB_DESCRIPTION_FLD, JT_JOB_TITLE_FLD, JT_JOB_POST_DATE_FLD, JT_JOB_CLOSE_DATE_FLD, JT_JOB_POSTER_FLD)
VALUES(?, ?, " . $open . "," . $close . ", ?)";
if ($stmt = $this->conn->prepare($query)) {
$stmt->bind_param('ssi', $title, $desc, '1');
关闭和打开的表单HTML:
<input type="Date" name="jobOpen">
<input type="Date" name="jobClose">
未显示将生成的post数据传递到带有查询的函数中的位置。有问题的两个字段都是没有其他约束的日期字段。
我也曾尝试将它们作为字符串绑定,但没有成功。
谢谢。
更新:这两个变量的格式为"2013-12-04"
默认情况下,输入type="date"
将日期显示为YYYY-MM-DD
。
您可以使用strtotime($open)
将其强制为UNIX时间戳,然后在数据库中将列设置为INT(10)类型。
然后可以使用date()
函数检索时间(http://php.net/manual/en/function.date.php)
新代码
$open = strtotime($open);
$close = strtotime($close);
$query = "INSERT INTO JOB_TBL(JT_JOB_DESCRIPTION_FLD, JT_JOB_TITLE_FLD, JT_JOB_POST_DATE_FLD, JT_JOB_CLOSE_DATE_FLD, JT_JOB_POSTER_FLD)
VALUES(?, ?, " . $open . "," . $close . ", ?)";