如何使用mysqli将表格中的日期插入表中


How to insert a date from a form into a table with mysqli

我有一个表,其中有两个具有日期数据类型的字段。我在将日期类型的表单中的值插入此表时遇到困难。

我用来插入的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 . ", ?)";