我正在使用MySqli作爲MySql服務器。我設立的,用戶可以在HTML的形式使用日期輸入型輸入日期形式:MySql使用html日期輸入選擇帶日期時間的日期範圍
<div class="ElHolder">
<form action="productionOutput.php" method="get">
<input type="date" name="packHistDate" required>
<input type="submit">
</form>
</div>
然後我使用PHP獲取輸入的日期,我試圖在我的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()將它們全部轉換爲日期,但仍然無法正常工作。
任何幫助是極大的appriciated
更新:增加單引號中".$datePackFinished."
所以它像'".$datePackFinished."'
圍繞定了!
你是否對「$ packHistDate」內容感興趣? –
迴應您的查詢並檢查 –
'$ packHistDate'必須爲'YYYY-MM-DD'格式。先檢查一下。我認爲它也必須被引用。 – MadMarc