【问题标题】:Getting mySQL date_format to display in PHP让 mySQL date_format 在 PHP 中显示
【发布时间】:2009-08-07 15:08:58
【问题描述】:

对于你们中的许多人来说,这听起来像是一个非常简单的问题,但我似乎无法让基本的 date_format 与 mySQL 语句一起使用,然后使用 php 显示。这是我目前拥有的代码:

$result = mysql_query("SELECT *, DATE_FORMAT('timestamp', '%W %D %M %Y') as date FROM articleDB WHERE userID='".$_SESSION["**"]."' ORDER BY timestamp DESC LIMIT 8");

然后尝试使用以下方式显示它:

echo ' Posted: '.$row['timestamp'].''; 

我想要的只是将 PHP myAdmin 时间戳中的日期格式化为我想要的格式。

干杯

【问题讨论】:

    标签: php mysql date-format


    【解决方案1】:

    在查询中的字段周围使用反引号 (``) or nothing at all instead of single-quotes ('`):

    $result = mysql_query("SELECT *, DATE_FORMAT(`timestamp`, '%W %D %M %Y') as date FROM articleDB WHERE userID='".$_SESSION["**"]."' ORDER BY timestamp DESC LIMIT 8");
    

    反引号(``) creates a reference to a table member, single-quotes creates a string ('). You were basically trying toDATE_FORMATthe string'timestamp'` 代替字段。

    另外,由于您使用as 创建字段别名,因此您希望在输出时使用别名引用该字段:

    echo ' Posted: '.$row['date'];
    

    【讨论】:

      【解决方案2】:

      您需要在选择语句中显示您计算/格式化的“日期”列,时间戳列包含未格式化的原始日期值。

      echo ' Posted: '.$row['date'];
      

      【讨论】:

        【解决方案3】:

        因为您在 SQL 查询中定义了日期格式 as date,所以您可以通过 $row['date'] 访问它。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-03-28
          • 1970-01-01
          • 2010-11-19
          • 1970-01-01
          • 2015-06-02
          • 2013-05-13
          • 2023-03-30
          • 1970-01-01
          相关资源
          最近更新 更多