Php 如何在MySQL中显示特定于日期的数据?

Php 如何在MySQL中显示特定于日期的数据?,php,mysql,Php,Mysql,你好, 我想通过MySQL查询显示特定于日期的数据,我正在使用下面的查询 SELECT SUM(qa_effort) FROM tbl_uat WHERE product='DAS' AND uat_start_date >= '$date1' 上面的查询不仅显示了的uat\u开始日期数据,还显示了 mysql.*已被弃用。改用mysqli.*或PDO 在准备好的语句示例中,它将如下所示: $date1 = $_POST["date3"]; $date2 = $_

你好,

我想通过MySQL查询显示特定于日期的数据,我正在使用下面的查询

SELECT SUM(qa_effort) 
FROM tbl_uat 
WHERE product='DAS' 
    AND uat_start_date >= '$date1'
上面的查询不仅显示了的uat\u开始日期数据,还显示了
  • 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

    一些示例数据和日期列的数据类型将有助于确定确切原因。如果您希望得到另一个更清晰的答案,那么请更清楚地询问(即提供您的样本数据e t.c.),给出表中dattime类型的变量$date1Is uat_start_date的样本?date1既是日期又是时间,还是仅仅是日期?
    $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;
        }
    }