2011-07-30 140 views
6

如何將當前日期插入到我的數據庫中?我有一個名爲日期的專欄。 我想在同一時間將其插入到我插入此:將當前日期插入數據庫?

$sql="INSERT INTO `Lines` (Text, PID, Position) 
VALUES 
('$text','$pid','$position')"; 

有沒有辦法把它在phpMyAdmin自動或者是做這樣的一樣嗎?由於

回答

7

如果表定義有timestamp列默認設置爲CURRENT_TIMESTAMP,你其實並不需要做任何事情。否則,NOW()CURRENT_TIMESTAMP將工作,如:

INSERT INTO t1 (timestamp_column) VALUES (NOW()); 

CURRENT_TIMESTAMPNOW()之間的差異,但它可能是太微不足道了你。

phpMyAdmin在創建新列時好像有一個選項CURRENT_TIMESTAMP

4
INSERT INTO `Lines` (`date`) VALUES (NOW()); 
0

否則...如果您使用的是整數,這在PHP中常見的,只是使用time()並插入它的價值,你插入其他變量的方式相同,或使用MySQL的UNIX_TIMESTAMP()

1

根據您的要求,你也可以這樣做

$date=date('d.m.y h:i:s'); 

然後插入$ date。我的意思是如果你只想查看日期&時間。否則我也推薦time()。

0

存儲時間戳的最佳方式是以GMT/UTC中的UNIX時間戳整數。無論您,服務器或用戶位於何處,都可以隨時瞭解確切的時間。一個好處是,你可以讓你的用戶設置他們的時區和顯示時間對他們有意義。

$sql = "INSERT INTO `Lines` (`timestamp`) VALUES ('" . time() . "')"; 

$sql = "INSERT INTO `Lines` (`timestamp`) VALUES (UNIX_TIMESTAMP())"; 

要小心,如果您選擇使用NOW()或CURRENT_TIMESTAMP,因爲它們是由數據庫服務器管理,它的設置。如果您的站點託管的服務器位於一個時區,而您在另一個時區移動到另一個主機,則所有時間戳都將不正確。使用Unix整數將在應用程序處理時間的任何地方增加一點額外的工作量,但它爲您提供最高的準確性和最大的靈活性。