【问题标题】:Strtotime and PHP - formatting a PDO query? [closed]Strtotime 和 PHP - 格式化 PDO 查询? [关闭]
【发布时间】:2013-04-07 13:08:56
【问题描述】:

我一直在学习将 PDO 与 PHP 结合使用的基础知识,并且我的查询有效。 这是代码:

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>



<?php
$hostname = "localhost";
$username = "test";
$password = "test";

try {
    $db = new PDO("mysql:host=$hostname;dbname=goodsdb", $username, $password);

    //echo "Connected to database"; // check for connection

    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);

    $sql = "Select * from items";
    $result = $db->query($sql);
    foreach ($result as $row) {
        //echo $row["goods"]. "<br />";
    }

    $db = null; // close the database connection

}
catch(PDOException $e) {
    echo $e->getMessage();
}
?>
<p>
<?php
echo $row["goods"];
?>
</p>
<p>
<?php
echo $row["auctiondate"];
?>
</p>
</div>
<?php require 'footer.php' ?>

它成功了,到目前为止没有错误。请注意,我已经在 foreach 之后注释掉了 echo 部分,并使用 php 分隔符对行进行了回显 - 这是一种好的做法,还是应该取消注释?

但是,如何在我的数据库中获取拍卖日期字段以将数据显示为:

2013 年 4 月 6 日下午 12:00

而不是

2013-06-06 12:00:00(在数据库中存储为DATETIME)

我不确定是使用 date 还是 strtotime 来显示此内容,并且希望获得有关正确格式化日期的帮助。

这个项目是一个简单的网站,用于显示来自 PDO/MySQL 仓库的数据库中的数据 - 基本上是一个简单的测试站点。

我正在使用 PHP 5.4.4,并且正在使用 MAMP,在 OS X 10.8.3 Mountain Lion 上,如果这有帮助的话。

【问题讨论】:

  • 请接受您选择的答案!

标签: php mysql database pdo


【解决方案1】:
$mydate = date("jS M Y, g:ia", strtotime($datefrommysql));

有关日期格式,请参阅http://www.php.net/manual/en/function.date.php

【讨论】:

    【解决方案2】:

    要么使用 php 中的日期格式功能,要么使用 mysql 的 date_format 函数,如下所示:

    Select *,date_format(auctiondate,'%D %M %Y, %h:%i%p' ) as 'mod_date' from items
    

    这将在 mod_date 字段中准确返回 6th April 2013, 12:00pm

    【讨论】:

      【解决方案3】:

      由于您的问题由于某种原因被标记为 PDO(与日期格式无关),我将对您使用 PDO 的方式进行一些改进

      <?php
      error_reporting(E_ALL);
      ini_set('display_errors', '1');
      
      $hostname = "localhost";
      $username = "test";
      $password = "test";
      
      $opt = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
      $db = new PDO("mysql:host=$hostname;dbname=goodsdb", $username, $password, $opt);
      
      $sql = "Select * from items";
      $result = $db->query($sql);
      foreach ($result as $row) {
          //echo $row["goods"]. "<br />";
      }
      

      这将是处理 PDO 错误的正确方法

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-01
        • 2015-09-02
        相关资源
        最近更新 更多