2013-01-06 3 views
0

SQL 쿼리에 문제가 있습니다.날짜 비교 mysql

데이터베이스 내 송장 유효 기간이 있습니다.

은 2013년 12월 1일

지금 내가 오늘이 날짜를 비교하려는 문자열로 저장됩니다. 그러나 작동하지 않습니다.

이것은 코드입니다.

include_once ('config/connect.php');

connectdb();

$name = $_GET['name']; 

$date = date('d-m-Y'); 

$qry = "SELECT *, finished_invoice.date AS invoice_date FROM finished_invoice 
    INNER JOIN customer 
    ON finished_invoice.customer = customer.customer_nr 
     WHERE finished_invoice.user = '".$_SESSION['id']."' 
    AND customer.company_name = '$name' 
    AND expiry_date < '$date' 
    AND finished_invoice.sent > '0' 
    AND finished_invoice.paid = '0' 
    ORDER BY finished_invoice.id DESC" 

아무도 나를 도와 줄 수 없다면.

감사합니다. 당신이 PHP의 날짜 형식 D-m-Y는 문제를 받고있는 이유 MySQL의 형식 Y-m-D 그게 전부와 비교하는

+0

는, 다음 ... 날짜로 DB에 저장이이 훨씬 쉽게와 같은 비교를 만들 것입니다! –

답변

0

은 문자열로 비교합니다. 이 사용
보십시오 : 그것은 날짜가 있다면

SELECT *, finished_invoice.date AS invoice_date FROM finished_invoice 
     INNER JOIN customer 
     ON finished_invoice.customer = customer.customer_nr 
      WHERE finished_invoice.user = '".$_SESSION['id']."' 
     AND customer.company_name = '$name' 
     AND expiry_date < STR_TO_DATE($date, '%d-%m-%Y') 
     AND finished_invoice.sent > '0' 
     AND finished_invoice.paid = '0' 
     ORDER BY finished_invoice.id DESC 
+0

나를 도와 주신 Thnx. 난이 난 YYYY-MM-DD 에 DD-mm-YYYY로부터베이스 캐릭터 변경 문제 날짜 내 데이터 VAR ('Y-m-D')를 해결하는 방법을 발견; 지금은 괜찮아. 내 텍스트에 날짜를 표시 할 때 datebase에서 날짜를 변경해야했지만 쉽게 exolode 기능이 적용된 이었습니다. –

+0

@ NamirDžilić 답변을 게시하고 동의하십시오. 그것은 Stackoverflow와 그 사용자를 도울 것입니다. – nasaa

0

대신 날짜 객체를 사용 strtotime으로 비교() 함수의

+0

databese의 내 날짜가 문자열로 저장됩니다. 12-01-2013 ko 내 날짜도 $ date = date ('d-m-Y')의 문자열입니다. –