2009-10-20 44 views
0

我正在努力添加1個月迄今()並將其保存在我的數據庫字段中。DATE_ADD問題

我用這個

$query2 = "SELECT * ,DATE_ADD(`date_joined`,INTERVAL 30 DAY) AS expire FROM `set` WHERE ID='$idno'"; 
$result2 = mysql_query($query2); 

「過期」是我想保存爲30天領域。 date_joined是當前日期。

但它不起作用。 過期字段仍然是當前日期 沒有錯誤消息。

我該怎麼辦?

還是有另一種方式來添加30天到當前日期並將其保存爲我的「過期」字段?

感謝

+0

爲什麼不包括爲什麼它不起作用,例如從數據庫中的錯誤消息? – Cellfish 2009-10-20 03:00:17

+0

因爲沒有錯誤信息 – 2009-10-20 03:04:21

+0

當你說「保存」時,你是什麼意思?你的意思是你想把這個字段添加到表中嗎?表中是否有「expire」字段?你正在嘗試做更新嗎? – 2009-10-20 03:17:28

回答

5

你缺少星號和DATE_ADD通話之間的逗號。它應該看起來像這樣:

SELECT *, 
     DATE_ADD(`date_joined`, INTERVAL 30 DAY) AS expire 
FROM `set` 
WHERE ID='$idno' 

一旦你解決了這個問題,查詢看起來很合適。

編輯:這聽起來像你需要一個update聲明,而不是select聲明。請嘗試:

update `set` 
set `expire` = date_add(`date_joined`, interval 30 day) 
where `id` = '$idno' 
+0

嘗試過,沒有工作,過期字段仍然是當前日期 – 2009-10-20 03:01:26

+0

'date_joined'是'date'或'datetime'類型的字段嗎? – 2009-10-20 03:02:42

+0

它是日期類型 – 2009-10-20 03:03:46

1

您將需要一個update聲明。

UPDATE `set` SET expire = DATE_ADD(date_joined, INTERVAL 30 DAY) 
WHERE ID='$idno' 
+0

thx,嘗試過,但過期的字段現在是0000-00-00現在 – 2009-10-20 03:26:45

+0

'date_joined'周圍的單引號需要反引號。 – 2009-10-20 03:30:06

+0

+1,因爲您在編輯我的答案之前發佈了此內容(對此感到抱歉)。 – 2009-10-20 03:35:30