2012-12-17 51 views
-2

我試圖寫在一個MySQL表中註冊用戶的訪問數據的代碼。這個代碼運行了一個星期左右(打印2012-07-12),但它開始在日期列中生成0000-00-00。日期()返回0000-00-00

$date_now = date("m.d.y"); // gets date 

if (empty($username)) {} else (mysql_query ("INSERT INTO new_visit_data (user_id, date, exercise, lesson, username) VALUES ('$user_id','$date_now', '' , 'yes', '$username') ON DUPLICATE KEY UPDATE lesson='yes'; ")); 

我做錯了什麼?謝謝!

+2

這是datetime列的錯誤格式。 –

+0

顯示錶格的結構 – user7282

+1

請閱讀[重要信息](http://meta.stackexchange.com/a/5235/135887),這可能會影響您獲得高質量答案的能力。 – Charles

回答

6

只要日期確實是 '日期' 類型的列,它應該是

$date_now = date("Y-m-d"); 
+0

你確定嗎?我不認爲。我認爲它的權利http://php.net/manual/en/function.date.php –

+0

沒有丹博士它沒有必要得到該格式的日期。 http://php.net/manual/en/function.date.php 今天 回聲日期( 「m.d.y」); 會輸出12.17.12 – Muqito

+0

非常感謝!這使我的代碼工作:) –

4

如果列exercise有數據類型DATETIME,然後使用:

INSERT INTO new_visit_data (user_id, date, exercise, lesson, username) VALUES ('$user_id', NOW(), '' , 'yes', '$username') ON DUPLICATE KEY UPDATE lesson='yes'; 
3

這裏是日期格式

$today = date("F j, Y, g:i a");     // March 10, 2001, 5:16 pm 
    $today = date("m.d.y");       // 03.10.01 
    $today = date("j, n, Y");      // 10, 3, 2001 
    $today = date("Ymd");       // 20010310 
    $today = date('h-i-s, j-m-y, it is w Day');  // 05-16-18, 10-03-01, 1631 1618 6Satpm01 
    $today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // it is the 10th day. 
    $today = date("D M j G:i:s T Y");    // Sat Mar 10 17:16:18 MST 2001 
    $today = date('H:m:s \m \i\s\ \m\o\n\t\h');  // 17:03:18 m is month 
    $today = date("H:i:s");       // 17:16:18 
    $today = date("Y-m-d H:i:s");     // 2001-03-10 17:16:18 (the MySQL DATETIME format) 

date manual