【问题标题】:Show year once using MYSQL Distinct and PHP使用 MYSQL Distinct 和 PHP 显示一年
【发布时间】:2018-12-04 19:37:00
【问题描述】:

我有一个带有日期行的表格(新闻)。它包含格式为 (yyyy-mm-dd) 的日期。我只想在我的 PHP 页面上列出年份,但它不起作用。我收到一个错误:注意:尝试在

中获取非对象的属性

我做错了什么?

    <?php
       include 'includes/connect.php';
       $sql = "SELECT DISTINCT YEAR(date) FROM news ORDER BY date DESC";
       $result = $conn->query($sql);

       while($row = $result->fetch_assoc()) {
         $year = $row->date;
         $echo "$year<br />";
       }
    ?

【问题讨论】:

  • 对 $row 执行var_dump,您可能会发现它不是您所期望的。
  • 哪一行给出了错误?
  • 肯定成功包含connect.php吗? var_dump($conn) 检查它实际上是在加载一个连接

标签: php mysql distinct


【解决方案1】:

为查询提供别名,因为别名比语句更容易识别,为列提供伪名称:

SELECT DISTINCT YEAR(date) AS mydate

然后,由于您要获取关联数组,请使用数组表示法:

$year = $row['mydate'];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-19
    • 2014-02-14
    • 2013-05-05
    • 2011-11-16
    • 2016-11-10
    • 2013-02-27
    • 1970-01-01
    相关资源
    最近更新 更多