mysqli时间&日期插入

时间:2016-08-19 13:56:47

标签: php mysql mysqli

我试图将用户在网站上注册的日期插入到mysql中但由于某些奇怪的原因我没有将其插入正确,我使用下面的查询

  $connect->query("INSERT INTO `users` (username, email, password, name, country, signup_date) VALUES ('". $username ."', '". $email ."', '". $password ."', '". $fname . " " . $lname ."', '". $country ."', '".time()."')");

我在signup_date中输入了一笔金额但显然混乱了,有什么想法吗?

5 个答案:

答案 0 :(得分:1)

Php' time()函数returns unix时间戳。但是,MySQL期望以'YYYY-MM-DD HH:MM:SS'格式提供日期和时间值。只需在php中格式化您的时间值以匹配MySQL期望的格式。

答案 1 :(得分:0)

您可以使用mysql函数NOW() OR CURDATE()

"INSERT INTO `users` (username, email, password, name, country, signup_date) VALUES ('". $username ."', '". $email ."', '". $password ."', '". $fname . " " . $lname ."', '". $country ."', NOW())"

答案 2 :(得分:0)

如果signup_date的类型是日期时间,您可以使用date("Y-m-d H:i:s")而不是time()来获取格式化日期时间

答案 3 :(得分:0)

更改列dataType并将其设为timestamp

在其默认列中写入CURRENT_TIMESTAMP,不要在signup_date列中插入任何内容。它会自动插入当前日期。

答案 4 :(得分:0)

您可以将signup_date的数据类型设置为数据库中的Date,并在查询中使用NOW()函数。

  $connect->query("INSERT INTO `users` (username, email, password, name, country, signup_date) VALUES ('". $username ."', '". $email ."', '". $password ."', '". $fname . " " . $lname ."', '". $country ."', '".NOW()."')");

如果signup_date数据类型仅为Date并且您使用了上述查询,则数据将采用以下格式:YYYY-MM-DD

但如果它是TIMESTAMP数据类型,则采用以下格式:YYYY-MM-DD HH:MI:SS

所以取决于你需要什么,你可以使用。