我有一个包含一些温度数据和日期的数据库。要绘制数据,我需要将日期时间转换为 ISO8601。 我找到了选择正确数据并转换它们的命令:
SELECT DATE_FORMAT(`datelog`, '%Y-%m-%dT%TZ') AS date_formatted FROM `tempo` ORDER BY id ASC
在 phpmyadmin 中,数据显示正确,但是当我使用相同的命令运行我的 php 脚本时,它会显示存储在数据库中的数据(例如:{"datelog":"2016-12-18 11:54: 11","donnee":"16.937"})。我该如何改变它?
<?php
//setting header to json
header('Content-Type: application/json');
//database
define('DB_HOST', '127.0.0.1');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '******');
define('DB_NAME', 'tempo');
//get connection
$mysqli = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME);
if(!$mysqli){
die("Connection failed: " . $mysqli->error);
}
//query to get data from the table
$query = "SELECT DATE_FORMAT(`datelog`, \'%Y-%m-%dT%TZ\') AS date_formatted\n" . "FROM `tempo`\n" . "ORDER BY id ASC ";
//execute query
$result = $mysqli->query($query);
//loop through the returned data
$data = array();
foreach ($result as $row) {
$data[] = $row;
}
//free memory associated with result
$result->close();
//close connection
$mysqli->close();
//now print the data
print json_encode($data);
最佳答案
它可以串联起来:
$query = "SELECT DATE_FORMAT(`datelog`, \'%Y-%m-%dT%TZ\') AS date_formatted\n" . "FROM `tempo`\n" . "ORDER BY id ASC ";
试试这个,如果功能:
$query = "SELECT DATE_FORMAT(`datelog`, \'%Y-%m-%dT%TZ\') AS date_formatted\n . " " . FROM `tempo`\n . " " . ORDER BY id ASC . ";
关于php - 从php中的特定sql命令检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41208726/