2009-10-20 2 views
0

date()에 1 개월을 추가하고 데이터베이스의 내 필드에 저장하려고합니다.DATE_ADD 문제

내가이

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

"만료"사용 전 삼십일로 저장하고자하는 분야입니다. date_joined는 현재 날짜입니다.

하지만 작동하지 않습니다. 만료 필드는 여전히 현재 날짜 오류 메시지가 없습니다.

어떻게해야합니까?

현재 날짜에 30 일을 더하고 내 "만료"필드로 저장하는 다른 방법이 있습니까?

감사

+0

왜 데이터베이스의 오류 메시지와 같이 작동하지 않는지 이유를 포함하지 않는 이유는 무엇입니까? – Cellfish

+0

cuz 오류 메시지가 없습니다 –

+0

"저장 하시겠습니까?" 필드를 테이블에 추가하려는 것입니까? 이미 테이블에'expire' 필드가 있습니까? '업데이트 '를하려고하십니까? –

답변

5

당신은 별표와 DATE_ADD 호출 사이에 쉼표가 누락되었습니다. 다음과 같이 표시되어야합니다.

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

일단 수정하면 쿼리가 제대로 구성되어 나타납니다.

편집 :select 문이 아닌 update 문과 같아 보입니다. 시도 :

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

시도, didnt 일, 만료 필드는 여전히 현재 날짜입니다 –

+0

'date_joined'는'date' 또는'datetime' 유형의 필드입니까? –

+0

날짜 유형 –

1

문이 필요합니다.

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

thx, 시도했지만 만료 필드는 0000-00-00입니다. –

+0

'date_joined' 주위의 작은 따옴표는 역 따옴표 여야합니다. –

+0

+1 내 대답을 편집하기 전에 게시했습니다 (죄송합니다). –