簡體   English   中英

mysqli時間和日期插入

[英]mysqli time & date insert

我正在嘗試將用戶在網站上注冊的日期插入mysql,但出於某種奇怪的原因,我無法正確插入,我在下面使用此查詢

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

我在signup_date中插入了一筆金額,但顯然很混亂,有什么想法嗎?

PHP的time()函數返回 Unix時間戳。 但是,MySQL希望以'YYYY-MM-DD HH:MM:SS'格式提供日期和時間值。 只需在php中格式化您的時間值即可與MySQL期望的格式匹配。

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

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

如果signup_date的類型是datetime,則可以使用date("Ymd H:i:s" )代替time()來獲取格式化的datetime

更改列dataType並將其設置為timestamp

在其默認列中輸入CURRENT_TIMESTAMP ,不要在signup_date列中插入任何內容。 它將自動插入當前日期。

您可以從數據庫中將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

因此,取決於您的需要可以使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM