[英]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.