2009-10-20 3 views
0

Я работаю над добавлением 1 месяца к дате() и сохраню его в своем поле в базе данных.DATE_ADD problem

Я использую это

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

«истекает» есть поле я хочу сохранить как +30 дней. date_joined - текущая дата.

но не работает. срок действия до сих пор текущая дата нет сообщение об ошибке.

Что мне делать?

или есть еще один способ добавить 30 дней к текущей дате и сохранить его в качестве поля «expire»?

Благодаря

+0

Почему бы не сказать почему это не работает так, как например сообщение об ошибке из базы данных? – Cellfish

+0

cuz нет сообщения об ошибке –

+0

Что вы имеете в виду, когда говорите «save?» Вы хотите сказать, что хотите добавить поле в таблицу? Есть ли в таблице 'expire' в таблице? Вы пытаетесь сделать «обновление»? –

ответ

5

Вы пропускаете запятую между звездочкой и DATE_ADD вызова. Это должно выглядеть так:

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

Как только вы исправите это, запрос выглядит хорошо сформированным.

Edit: Это звучит, как вам нужно update заявление, а не select заявления. Попытка:

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

Пробовал, не работал, срок действия остается текущей датой –

+0

Является ли 'date_joined' полем типа' date' или 'datetime'? –

+0

это дата тип –

1

Вам понадобится заявление update.

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

thx, попробовал, но срок действия 0000-00-00 сейчас –

+0

Одиночные кавычки вокруг 'date_joined' должны быть обратными. –

+0

+1, потому что вы разместили это, прежде чем я отредактировал свой ответ (извините за это). –