2014-03-28 53 views
1

Mysql表的DatePosted列的數據類型爲TIMESTAMPPHP不插入當前時間戳到MySQL表?

我想使用PHP插入當前TIMESTAMP到表中。但是,下面的代碼似乎並沒有工作,我得到0000-00-00 00:00:00。是格式錯誤請問如何在mysql中

TIMESTAMP.php文件

date_default_timezone_set('America/Los_Angeles'); 

echo date("j of F Y, \a\\t g.i a", time()); 

mysqli_query($con,"INSERT INTO cfv_timestamp (DatePosted) VALUES ('".date("j F Y, \a\\t g.i a", time())."')"); 

要插入當前時間戳。

CREATE TABLE `cfv_timestamp (
    `DatePosted` timestamp NULL DEFAULT CURRENT_TIMESTAMP, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8; 
+4

你爲什麼不使用'NOW()'設置默認值? ...'mysqli_query($ con,「INSERT INTO cfv_timestamp(DatePosted)VALUES(NOW())」);' –

+0

或'INSERT INTO cfv_timestamp(DatePosted)VALUES(DEFAULT)'或者甚至'INSERT INTO cfv_timestamp()VALUES )'因爲DatePosted的默認值是CURRENT_TIMESTAMP。 –

+0

@BillKarwin我不想使用默認CURRENTTIMESTAMP,因爲我想美國/ Los_Angeles的時區 –

回答

3

你應該檢查mysql時間戳format並更改你的。

mysqli_query($con,"INSERT INTO cfv_timestamp (DatePosted) 
    VALUES ('".date("Y-m-d H:i:s", time())."')"); 

而且你可以爲時間戳類型CURRENT_TIMESTAMP