在php中提交表单期间,DateTime未存储在mysql数据库中


DateTime is not storing in mysql database during form submission in php

我是PHP和MySql的新手。我正在尝试将简单的表单插入MySql数据库。我的机器中有Apache/PHP/MySql。如果这是一个重复的问题,我很抱歉。但我找了很多,都没能找到解决办法。

我有3个html输入字段"name"、"age"、"sex",并将其插入到mysql中,插入查询中有4列。第4列是"日期时间"列。下面是我的结构。

$date = new DateTime();
$date = $date->format('Y-m-d H:i:s');
$sql_query = "insert into demoform (name, age, sex, Created_On)
              values('$name', '$age', '$sex', '$date')";
$result = $db_conn->query($sql_query);

但在我插入后,php表单成功提交。但在表中,日期列显示为"0000-00-00 00:00:00"。

有人能帮我吗?我在这里做错了什么?

*问题已随表结构更新。。。

mysql> show tables;
+-------------------+
| Tables_in_myphpdb |
+-------------------+
| demoform          |
+-------------------+
1 row in set (0.00 sec)
mysql> describe demoform;
+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| id         | int(11)      | NO   | PRI | NULL    | auto_increment |
| name       | varchar(255) | YES  |     | NULL    |                |
| age        | int(11)      | YES  |     | NULL    |                |
| sex        | varchar(255) | YES  |     | NULL    |                |
| Created_On | datetime     | NO   |     | NULL    |                |
+------------+--------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

使用MySQL NOW()

$sql_query = "insert into demoform (name, age, sex, Created_On)
 values('$name', '$age', '$sex', NOW())";

如果您需要当前日期时间,请使用MySQL now()