2010-09-01 119 views
12

我有一個查詢,我想用當前日期時間更新一列。我想要更新的列是類型的日期時間。Mysql/Php - 當前日期和時間

我怎樣才能得到它並設置它?

else{ //If the last update is NULL, It must be players first page load. So set datetime equal to NOW 
    $query = "UPDATE `stats` SET `last_ap_update` = WHERE `member_id` = {$_SESSION['SESS_MEMBER_ID']}"; 
    $queryresult = mysql_query($insertqry); 
} 
+2

任何格式,如果你使用'timestamp'類型的列會自動執行此操作的記錄被隨時更新... HTTP://開發.mysql.com/doc/refman/5.0/en/timestamp.html – prodigitalson 2010-09-01 13:18:44

+0

這不適合我的用途。 – user377419 2010-09-01 13:22:50

回答

20

在查詢中使用NOW()將提供此操作。

else{ //If the last update is NULL, It must be players first page load. So set datetime equal to NOW 
    $query = "UPDATE `stats` SET `last_ap_update` = NOW() WHERE `member_id` = {$_SESSION['SESS_MEMBER_ID']}"; 
    $queryresult = mysql_query($insertqry); 
} 

但是,如果這個被隨時更新的表的更新,我會建議改變列TIMESTAMP,這將隨時自動更新到當前的時間爲您記錄變更。

+0

woooooo。它的作品,你可以得到最好的答案,當我可以。 – user377419 2010-09-01 13:26:43

+0

請記住mySql的時間單位小於秒。如果您需要此功能,有一些不受支持的修補程序。您可能希望在構建請求字符串的同時提供系統時間,並以時代+ macroseconds格式處理所有事情(正如許多有審計需求的MySQL人員所做的那樣) – Incognito 2010-09-01 14:44:57

2

您可以使用mysql函數NOW(),或者您可以在其中使用$ _SERVER ['REQUEST_TIME'],這樣查詢就會被mysql緩存。

8
else{ //If the last update is NULL, It must be players first page load. So set datetime equal to NOW 
    $query = "UPDATE `stats` SET `last_ap_update` = '".gmdate("Y-m-d H:i:s")."' WHERE `member_id` = {$_SESSION['SESS_MEMBER_ID']}"; 
    $queryresult = mysql_query($insertqry); 
} 

你可以使用任何你想要的,而不是gmdate("Y-m-d H:i:s")

相關問題