SQL 查询中的 PHP 日期时间格式


PHP Date time format in SQL query

我正在做我的分析代码,它将显示从现在开始的 7 的销售报告。

这是我的完整代码:

<?php
include 'report/go.php';
$to_time =time();
$to_time = date("Y-m-d H:i:s",$to_time);
$from_time = time()-6*60*60;
$from_time = date("Y-m-d H:i:s",$from_time);

    $sql = "SELECT 
            *
            FROM Tickets
            WHERE LastUpdateTime BETWEEN $from_time and $to_time";
    $stmt = sqlsrv_query( $conn, $sql );
        if( $stmt === false) {
            die( print_r( sqlsrv_errors(), true) );
        }
        while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
                $Date = $row['LastUpdateTime']->format('d/m/Y');
                $Time = $row['LastUpdateTime']->format('H:i:s');
                $Hour = $row['LastUpdateTime']->format('H');
            echo $row['Id']." - ".$Date." - ".$Time." - ".$Hour." Total amount: ".floor($row['TotalAmount'])."<br />";
        }
sqlsrv_free_stmt( $stmt);
?>

我的代码不起作用。我相信我在日期时间转换或类似的事情上遇到了一些问题。谁能帮我?

datetime应该用' s包装,因为它们是string s。

"SELECT 
*
FROM Tickets
WHERE LastUpdateTime BETWEEN '$from_time' and '$to_time'"

而要计算$from_time你只能做——

$from_time = date("Y-m-d H:i:s", strtotime('- 6 HOURS'));

而不是

$from_time = time()-6*60*60;
$from_time = date("Y-m-d H:i:s",$from_time);