MySQL datetime 转换为 PHP 中的 echo

3

我希望在我的页面中展示用户查看的数据库最后修改的日期和时间。我有以下代码:

 $lastUpdate = $pdo->prepare("SELECT lastUpdate FROM bng WHERE lastUpdate IN 
                            (SELECT max(lastUpdate) FROM bng)");
$lastUpdate->execute();

正如标题所述,我想在我的页面上呈现结果。我尝试了以下方法:

<?php
echo '<p>Database Last Modified  on '.date("l, d F Y - h:i:s A",strtotime($lastUpdate)).'</p>';
?>

但是它却给我错误的数据和错误信息。

警告:strtotime()函数期望第一个参数为字符串类型,

希望我的问题表述清楚。谢谢。


为什么要使用WHERE IN?只需使用SELECT MAX(lastUpdate) FROM bng即可。 - Barmar
我的页面显示的结果是“数据库上次修改于1970年1月1日星期四-上午12:00:00”,而我的SQL查询显示的是“2017-04-12 13:58:28”。 - Richelle
2个回答

1

$lastUpdate是PDO语句,而不是来自数据库的值。您需要调用fetch()然后从行中提取值。

$lastUpdate = $pdo->prepare("SELECT max(lastUpdate) AS lastUpdate FROM bng");
$lastUpdate->execute();
$row = $lastUpdate->fetch(PDO::FETCH_ASSOC);
echo '<p>Database Last Modified  on '.date("l, d F Y - h:i:s A",strtotime($row['lastUpdate'])).'</p>';

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接