[英]MYSQL query from input (datetime_local) field
我的mysql查詢有問題:
$req=mysql_query("
SELECT Device_Type, Device_Number, sum(Ok) as Ok, sum(Rejected) as Rejected, sum(QC_Rejected) as QC_Rejected
FROM `Iteration_TotalStats`
where Line_Id = $line and Device_Number IN ($dev) and time > '$datest' and time < '$daten'
");
變量進入“ for”循環:
除了帶有變量( $dates
和$datee
)的時間參數外,其他所有參數都可以正常工作。 在這里輸入:
<input type="datetime-local" name="date_start" value="2016-04-19T09:00"></input>
<input type="datetime-local" name="date_end" value="2016-04-19T21:00"></input>
但是當我直接在mysql查詢中鍵入此日期和時間格式時,如下所示:
time > '2016-04-19T09:00' and time < '2016-04-19T21:00'
它工作正常。 我不知道為什么它不能與變量一起使用。 請幫忙。
只是為了使您步入正軌,並證明一旦您習慣了PDO並不難,我繼續將您的代碼轉換為PDO:
$qry = $db->prepare(
'SELECT '
. 'Device_Type, '
. 'Device_Number, '
. 'sum(Ok) as Ok, '
. 'sum(Rejected) as Rejected, '
. 'sum(QC_Rejected) as QC_Rejected '
. 'FROM `Iteration_TotalStats` '
. 'WHERE Line_Id = :line '
. 'AND Device_Number IN ($dev) '
. 'AND time > :start '
. 'AND time < :end'
);
$qry->bindParam(':line', $line);
$qry->bindParam(':start', $_POST['date_start']);
$qry->bindParam(':end', $_POST['date_end']);
$result = $qry->execute();
您顯然必須首先實例化該$db
變量,但這只是一個PDO實例,應該從手冊中清楚了解: http : //php.net/manual/en/pdo.construct.php
讓我知道這是否可以解決您的問題。 並且隨時詢問是否有任何不清楚的地方。
最后我找到了解決辦法。 在mysql中查詢是否像這樣進行:
SELECT Device_Type, Device_Number, sum(Ok) as Ok, sum(Rejected) as Rejected, sum(QC_Rejected) as QC_Rejected, DATE_FORMAT(time, '%Y-%m-%dT%H:%i')
FROM `Iteration_TotalStats` where Line_Id = $line and Device_Number IN ($dev) and time > '$ds' and time < '$de'
現在我使用mysqli withoun bind,它工作正常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.