2011-08-31 2 views
1

$query에서 DATETIME을 UNIX 타임 스탬프와 비교할 수 있습니까? 같은쿼리 내 datetime 변환

뭔가 :

$query = "DELETE FROM customer_appointments 
      WHERE dealer_id = 12880 
      AND $today < $appt_date"; 

$today = time() 

$appt_date = "2011-09-17 00:00:00", customer_appointments에서 필드입니다.

쿼리에서이 두 가지를 비교할 수 없습니까?

+2

이것은 SQL 질문하지 PHP 관련이와 날짜를 비교할 수 쿼리에서 FROM_UNIXTIME ($ 오늘)를 사용할 수 있습니다. MySQL, 그렇 겠지? –

답변

1

보십시오 : MySQL을 위해 일해야

DELETE FROM customer_appointments WHERE dealer_id = 12880 AND $today < UNIX_TIMESTAMP('$appt_date'); 

(확실하지 당신이 사용하고있는 DB를 무엇).

또한 Bobby Tables이 데이터베이스에 들어 가지 않도록 데이터를 이스케이프 처리하는 것이 좋습니다.

+0

내가 왜 downvoted 되었습니까? –

+0

어리석은 바비 테이블 링크 –

+0

답변을 주셔서 감사합니다. 비록 위의 승인 (이전에 큰 승인을 받았으며 유효한 점을 보여 주 었는지)이 어떻게 칭찬을 받았으며 비난을 받았는지 혼란 스럽습니다. –

0

당신이 할 수있는 몇 가지 방법이 있습니다. 시간 대신 date(Y-m-d H:i:s)을 사용할 수 있습니다. appt_date를 MySQL 내부의 UNIX_TIMESTAMP로 변환하거나 strtotime을 사용하여 PHP로 변환 할 수 있습니다.

난 당신이 실제로 생각을하려는 생각 :

DELETE FROM customer_appointments 
     WHERE dealer_id = 12880 
     -- all appointments before now 
     AND NOW() < APPT_DATE 
0

MySQL은 문제없이에서와 유닉스 타임 스탬프로 날짜를 변환 할 수 있습니다.
그러나, 귀하의 질문에

DELETE FROM customer_appointments WHERE dealer_id = 12880 AND NOW() < appt_date 

해결책처럼 보이는에서 유닉스 타임 스탬프에 대한 사용을 볼 수 없습니다.
그렇지 않은 경우 작업을 단어로 설명해야합니다.