你好
我想通过MySQL查询显示特定日期的数据,我正在使用下面的查询;
SELECT SUM(qa_effort)
FROM tbl_uat
WHERE product='DAS'
AND uat_start_date >= '$date1'
上面的查询正在显示uat_start_date的数据,不仅用于>,而且用于
PHP代码:
<?php
$date1 = $_POST["date3"];
$date2 = $_POST["date4"];
if (is_null($date2) || $date2 === '' ){
$cmsc= mysql_query("SELECT SUM(qa_effort)
FROM tbl_uat
WHERE product='DAS'
AND uat_start_date >= '$date1'");
while ($cresult = mysql_fetch_array ($cmsc))
$arrda2[0] = $cresult[0];
echo $arrda2[0];
}
?>
在tbl_uat中,uat_start_date列的类型为date。
谢谢
问候
最佳答案
How can I prevent SQL injection in PHP?mysql_*
已过时。使用mysqli_*
或PDO
代替。
在准备好的语句示例中,它将如下所示:
$date1 = $_POST["date3"];
$date2 = $_POST["date4"];
if (is_null($date2) || $date2 === '' ) {
$q = $mysqli->prepare('SELECT SUM(qa_effort)
FROM tbl_uat
WHERE product="DAS"
AND uat_start_date >= ?
');
$q->bind_param('s', $date1);
$q->execute();
$q->bind_result($sum);
while ($q->fetch()) {
echo $sum;
}
}
mysqli
documentation当然,您应该验证
$date1
是否为正确格式的日期,例如Y-m-d
。关于php - 如何在MySQL中显示日期特定的数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19829597/