2015-10-04 80 views
0

我想插入兩個日期時間到MySQL。不能插入字符串或日期時間對象到mysql

$ taskcompdate是用戶寫入的字符串,需要轉換爲日期時間對象並使用「d/m/y」格式進行格式化。

第二個,$ datenow只是現在的時間。

插入查詢工作,但在所有記錄的所有日期都顯示爲0000-00-00 00:00:00

我嘗試各種可能的方法,我發現了,但沒有工作。我究竟做錯了什麼?

<?php 
       $conn = mysqli_connect("127.0.0.1", "root", "", "todo_list"); 

       $taskname = $_POST["taskname"]; 
       $taskcompdate = $_POST["taskcompdate"]; 
       $datenow = date("H:i:s d/m/y"); 

       $insert_date1 = date('d/m/y', strtotime($taskcompdate)); 
       $insert_date2 = date('H:i:s d/m/y', strtotime($datenow)); 


       $sql_main = "INSERT INTO task_main (task, complete_date, added_date) VALUES ('$taskname', '$insert_date1', '$insert_date2')"; 
       $result = mysqli_query($conn, $sql_main); 

if ($result) { 
    echo 'success'; 
} else { 
    echo 'failure' . mysqli_error($conn); 
} 
      ?> 
+0

你能告訴我'$ insert_date1'和'$ insert_date2'的值是什麼。 – sandeepsure

+0

$ insert_date1/2應該是格式並將字符串轉換爲要輸入到數據庫的格式。據推測,但我只是在網上找到了一些解決方案,並嘗試了我,但沒有奏效。 –

回答

3

對於MySQL的日期和日期時間類型,您的日期格式無效。它們必須採用YYYY-MM-DD HH:MM :: SS格式。

$insert_date1 = date_format($taskcompdate, "Y-m-d"); 
$insert_date2 = date('Y-m-d H:i:s', strtotime($datenow)); 
+0

太好了,謝謝 - 它很有用。我可以使用您提供的相同格式作爲日期嗎?因爲我需要第一個是日期而第二個是日期? –

+0

是的,我提供的代碼完全符合 –

+0

Tested,就像一個魅力。謝謝! –

相關問題