在查询中使用 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");
所以我有一个问题,如何在 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");