您好,
我想通过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。
感谢 此致
答案 0 :(得分:0)
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;
}
}
当然,您应确认$date1
是否为适当格式的日期,例如Y-m-d
。