php mysql命令不按预期工作

时间:2017-07-15 13:20:17

标签: php mysql

给出以下返回预期结果的查询:

SELECT * FROM `articles` ORDER BY article_date DESC

但在PHP中,结果仍然是ASC。

<?php
header("Content-Type:application/json");
require_once('connection.php');

$sql = "SELECT article_name, article_text, article_date FROM articles ORDER BY article_date DESC";
$result = mysqli_query($conn, $sql);

$result_array = array();
$rows = array();

if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        $rows[] = $row;
    }
}

http_response_code(200);
$result_array['status'] = 200;
$result_array['error'] = "";
$result_array['result'] = $rows;

exit(json_encode($result_array));
?>

我尝试了不同的方法,例如DATE_FORMAT或将字段类型更改为timestamp类型。

我的文章表格如下:

CREATE TABLE `articles` (
  `id` int(11) NOT NULL,
  `article_name` varchar(255) NOT NULL,
  `article_text` text NOT NULL,
  `article_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

有没有人知道为什么会这样?

1 个答案:

答案 0 :(得分:1)

首先,我会假设您的ID会自动增加,这意味着ID会按时间顺序排列,因为在每个帖子之后,ID会增加1。所以我建议的是:

$sql = "SELECT * FROM articles ORDER BY id DESC";
$result = mysqli_query($conn, $sql);

如果这不起作用,请告诉我,我会帮助你。