在查询中使用 php 日期函数的正确语法是什么

What is correct syntax to use the php date function in a query

所以我有一个问题,如何在 php 脚本的查询中使用 php 日期函数。我想以 Ymd 格式从我的数据库转换 sql 日期。我不想更改数据库中的格式,而是更改脚本中的格式。但我不知道该怎么做。我认为问题出在我的语法上。任何帮助表示赞赏。

我的脚本:

 <?php
    require_once('config.php');  
    header('Access-Control-Allow-Origin: *');
    header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
    header('Access-Control-Max-Age: 1000');
    header('Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With');

    session_start();

    $conn = @mysqli_connect(MYSQL_SERVER, MYSQL_USER, MYSQL_PASS, MYSQL_DB);
    if (!$conn) {
        die('Could not connect: ' . mysqli_connect_error());
    }


    $res = $conn -> query("select sum(food.calories) as total_calories, date("Ymd",strtotime(log.dates)) as datum 
                           from foods food inner join foodlog log 
                           on food.id = log.fooditem 
                           where log.user = {$_SESSION['userid']}
                           group by datum 
                           order by datum");

    if ( !$res ) {
        die('Wrong query: ' . mysqli_connect_error());
    }

    $data = array();

    for ($x = 0; $x < mysqli_num_rows($res); $x++) {
        $data[] = mysqli_fetch_assoc($res);
    }

    echo json_encode($data);     

    ?>  

MySQL 有自己的日期函数。使用他们。在这种情况下使用 DATE_FORMAT().

$res = $conn -> query("select sum(food.calories) as total_calories, DATE_FORMAT(log.dates, '%y%m%d') as datum 
                       from foods food inner join foodlog log 
                       on food.id = log.fooditem 
                       where log.user = {$_SESSION['userid']}
                       group by datum 
                       order by datum");