从MySql到PHP的时间戳显示在12月/ 31/1969

时间:2012-02-27 21:33:42

标签: php mysql

这就是我对代码所拥有的:

<?php
    $link = "SELECT * FROM epk";
    echo '<b><font face="Arial, Helvetica, sans-serif" size="2" color="#FF6666">' . date("m.d.Y", strtotime($startTime)) . '</b>';
?>

我在这个网站上阅读了很多不同的修复程序,但我似乎无法将其转换为我的代码行。我没有写这个,但那个为我做这件事的人已经无法接触。如果有人能告诉我如何解决这个问题,我将不胜感激。

非常感谢!


CORRECTION:

我很抱歉。我不知道为什么我发布了这个代码。这不是最初的,我发布的是我发现我试图弄乱的。这是我以前用过的原创作品:

<?php $link = "SELECT * FROM epk"; echo '<b><font face="Arial, Helvetica, sans-serif" size="1" color="#FF6666">' . date("m-d-y",strtotime($r['date'])) . '</b>'; ?> 

非常感谢! :)


CORRECTION

我明白了...因为我所拥有的,我只是做了一个疯狂的猜测并将字母“OW”添加到$ r行并且它有效。在这里,希望如果他们看到这个,它可以帮助别人......

<?php $link = "SELECT * FROM epk"; echo '<b><font face="Arial, Helvetica, sans-serif" size="1" color="#FF6666">' . date("m-d-y",strtotime($row['date'])) . '</b>'; ?>

希望能帮助其他人。

2 个答案:

答案 0 :(得分:6)

看起来你在这里遗漏了一些信息。

您的$ startTime变量未在此代码中初始化,它永远不会在任何地方“设置”。所以你基本上将“0”传递给你的strtotime函数。这意味着“Unix Epoche之后0秒,1969年12月31日午夜”。

您需要首先运行名为“link”的查询,并提取存储在结果查询中的数据并将其传递给变量$ startTime。

基本上,你在这里缺少一堆代码。

答案 1 :(得分:3)

当strtotime()返回false时会发生这种情况,因为它无法解码$ startTime中包含的任何内容,这意味着$ startTime不是有效的日期字符串,因此无法在其上使用strtotime()函数。 / p>

您认为$ startTime包含哪些内容?你是否在上面的代码片段之前放了那个变量,或者它只是一个未定义的变量,因为你从未定义它?

修改

你可以试试这个,但是如果不了解你的系统,你可能会因使用这个代码而使事情变得更糟。好像你上面显示的片段中至少有两行缺失,但可能会有更多。至于那些线路是如何突然丢失的,我只能建议有人可以访问你的服务器并删除代码行。或者,或者你没有向我们展示在你的代码片段之前发生的关键代码片段,它从数据库中提取数据。

这是我的黑暗小巷猜测可以修复你的代码。使用风险自负。

<?php
   $link = "SELECT * FROM epk";
   $response = mysql_query($query);
   $r = mysql_fetch_assoc($response);
   echo '<b><font face="Arial, Helvetica, sans-serif" size="1" color="#FF6666">' . date("m-d-y",strtotime($r['date'])) . '</b>';
?>