2016-08-23 1 views
0

MySql을 MySql 서버로 사용하고 있습니다. 나는 사용자가 HTML 형식으로 날짜 입력 형식을 사용하여 날짜를 입력 할 수있는 형태로 설정하고 : 그때 입력 한 날짜를 얻기 위해 PHP를 사용하고MySql html 날짜 입력을 사용하여 datetime으로 daterange를 선택하십시오.

<div class="ElHolder"> 
    <form action="productionOutput.php" method="get"> 
     <input type="date" name="packHistDate" required> 
     <input type="submit"> 
    </form> 
</div> 

을 내 SQL에서 사용하는 것을 시도하고있다 질문. 내 코드에서 $packHistDate = $_GET["packHistDate"]을 먼저 설정합니다.

 $sql = "SELECT 
        PRODUCTS.ProductId, 
        PRODUCTS.Name, 
        DATE(PACKING_QUEUE.DatePackFinished) AS \"DateFinished\", 
        PACKING_QUEUE.Packets, 
        PACKING_QUEUE.SizeCode, 
        PACKING_QUEUE.RunSize, 
        BATCHES.BatchId 
       FROM PACKING_QUEUE 
        JOIN BATCHES ON BATCHES.BatchId = PACKING_QUEUE.BatchId 
        JOIN PRODUCTS ON PRODUCTS.ProductId = BATCHES.ProductId 
       WHERE PACKING_QUEUE.Status = 6 AND PACKING_QUEUE.DatePackFinished BETWEEN ".$packHistDate." AND NOW() 
       ORDER BY PACKING_QUEUE.DatePackFinished DESC"; 
     $result = $conn->query($sql); 

     if (!$result) { 
      printf("Errormessage: %s\n", $conn->error); 
     } 

PACKING_QUEUE.DatePackFinished는 DATETIME이며 오류가 발생한 부분이라고 생각합니다. 그러나 코드가 실행되지만 모든 날짜가 반환된다는 오류 메시지가 표시되지 않습니다.

DATE()를 사용하여 날짜로 변환하려고 시도했지만 여전히 작동하지 않습니다.

어떤 도움이 크게

UPDATE를 appriciated됩니다 : 그래서 '".$datePackFinished."' 같았다 ".$datePackFinished." 주위에 작은 따옴표로 추가 그것을 고정!

+0

'$ packHistDate' 콘텐츠에 대해 궁금한 점이 있습니까? –

+0

쿼리를 반향하고 –

+1

'$ packHistDate'가'YYYY-MM-DD' 형식이어야합니다. 먼저 확인하십시오. 나는 또한 그것을 인용해야한다고 생각한다. – MadMarc

답변

0

그래서 '".$datePackFinished."'처럼 고정했다 ".$datePackFinished." 주위에 작은 따옴표 추가를 추가하여 그것을 할 수 있습니다!

0

간단히 날짜 부분을 변경합니다.

BETWEEN NOW() AND ".$packHistDate." 

과 같이 날짜 부분을 변경하면됩니다.

하거나 추가 따옴표

BETWEEN NOW() AND '".$packHistDate."' 
+0

내가 그걸 시도 할 때 아무것도 반환되지 않습니다. – Ryan

+0

당신은 작은 따옴표를 붙이지 않고 추가 작은 따옴표를 주어야한다고 생각합니다. 모든 데이터를 얻지 만, 이것을 사용하면 정확한 결과를 얻을 수 있습니다. ' ". $ packHistDate." ' 그리고 지금() –

관련 문제