我有一個PHP/MySQL腳本在日期字段上產生奇怪的結果。在整個過程中,我的日期一直很好,直到最後。最終結果將日期字段中的每個條目都設置爲'0000-00-00'。我完全陷入困境,不知道還有什麼要做。我可以說這是PHP不解釋這個日期的問題,但我不知道如何解決它。這裏是我的代碼:MySQL查詢錯誤處理日期字段
$sql = "CREATE TABLE temp_workouts (my_date date, sg_id int(11), loc_id int(11))";
$result = mysql_query($sql);
if (!$result) {
$tag_success = "failure";
$tag_message = mysql_error();
echo encodeJSON($tag_success, $tag_message);
die();
}
$sql = "SELECT * FROM my_table";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$my_date = $row['my_date'];
echo $my_date . " "; //<--this output looks perfect
$sql = "INSERT INTO temp_table (my_date) VALUES ($my_date)";
$result2 = mysql_query($sql);
}
die();
當我翻轉到MyPHPAdmin,看看錶,整列my_date包含「0000-00-00」。我怎樣才能讓PHP將它識別爲'Y-m-d'格式的日期?謝謝。我感謝任何幫助。
看來你可以做'插入temp_table(my_date)(選擇MY_TABLE my_date)' ;但如果你討厭這個問題,至少可以使用mysqli/PDO來準備'insert'查詢,而不是一遍又一遍地運行查詢。 – Passerby