2011-02-24 9 views
2

날짜 범위의 MySQL에서 레코드를 선택하려면 PHP를 사용하고 싶습니다. 예를 들어, 내가 날짜 범위 (2011-02-23, 2011-02-24) 그것은 작동하지 않습니다PHP 날짜 시간 범위 선택

$query = "select * from table where date_field between '2011-02-23' and '2011-02-24'"; 
mysql_query($query); 

을 선택합니다. 그럼 올바른 형식은 무엇입니까?

+1

는 오류 메시지를 줄 수 있을까요? 그 쿼리는 괜찮을 것이므로 php와 데이터베이스 사이에는 여러 가지 문제가있을 수 있습니다. – ryanday

+0

반환 된 변수 유형을 검사했습니다. $ 결과 = mysql_query ($ 쿼리). 그것은 부울 값입니다. 사실 그것은 자원이어야합니다. – chnet

+0

데이터베이스의 date_field 필드는 어떤 형식입니까? DATETIME, DATE, TIMESTAMP 또는 TIME? 또는 심지어 문자열 또는 int. 나는 종종 날짜를 int 형식으로 저장하기 때문에 비교하기 쉽습니다. –

답변

2
$query="select * from table where date_field >'2011-02-23' " 
    ." and date_field<date_add('2011-02-24', interval 1 day)"; 
0
$query="select * from table where date_field > '2011-02-23' and date_field < '2011-02-24'"; 
+0

입니다. 그것도 작동하지 않습니다. 반환 된 변수 유형은 여전히 ​​부울입니다. $ 결과 = mysql_query ($ 쿼리). 자원이어야합니다. – chnet

+0

흠. try/catch 또는 mysql_errno & mysql_error를 사용하여 오류 # 및 오류 메시지를 얻을 것을 제안합니다. –

관련 문제