存儲我有下面的代碼片段:日期()呼應是正確的日期和時間格式,但不會正確數據庫
date_default_timezone_set('UTC');
if (!isset($_POST['secret']) && $post_msg != "") { // checkbox unchecked processing...
// Checkbox is selected
$date_of_msg= date('l jS F Y h:i');
$msg_sent_by = $username;
$insert_query = "INSERT INTO user_thoughts VALUES ('','$post_msg','$date_of_msg','','' ,'$attach_name','$msg_sent_by','yes')";
$run_query = mysqli_query($connect, $insert_query) or die(mysqli_error());
}
當我回聲$date_of_msg
,日期和時間將打印出來如預期的那樣,但是當上面的INSERT
查詢運行時,數據庫中的字段將存儲0000-00-00 00:00:00
。
將存儲$date_of_msg
的字段稱爲post_details
,其類型爲datetime
。我知道有一個叫做date_to_str
的函數,看起來和它有關的問題,比如this之一。但在這個問題的答案是轉換手動輸入的日期,而我想獲得用戶發佈帖子的時間。我認爲解決方案是在插入$date_of_msg
變量時使用date_to_str
函數?但我無法理解它是如何工作的?
'升JS FY H:i'是不是mysql的日期時間格式。爲什麼不使用'now()'? – chris85
MySQL期望日期格式爲'YYYY-MM-DD hh:mm:ss' – Barmar
目標列的格式是什麼?如果是DATE格式,則需要按照上述註釋詳細說明更改輸入佈局。另外你的'MySQLi_error()'需要包含'$ connect'的值。 – Martin