【发布时间】:2016-08-17 10:01:08
【问题描述】:
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=$_POST['date_start'];
- $daten=$_POST['date_end '];
除了带有变量的时间参数($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'
它工作正常。我不知道为什么它不适用于变量。请帮忙。
【问题讨论】:
-
请不要再使用
mysql函数。您的代码对 sql 注入是开放的。你真的应该使用 PDO 和准备好的语句! php.net/manual/en/pdo.prepared-statements.php -
感谢您的建议。我很快就会重写它。
-
建成后能否回应您的要求?那它是什么样子的呢?
-
@Stan, echo $datest 渲染:2016-04-19T09:00