通过php为mysql DateTime添加秒

时间:2013-03-09 23:19:38

标签: php mysql

我试图通过php为mysql日期时间对象添加12秒。

我的php代码生成以下查询:“UPDATE Stats SET Usage = 1970-01-01 00:00:12”但查询失败。

我的php代码如下:

public function UpdateTime($diffrence)
{
    $seconds = $diffrence / 1000;

    mysql_connect('localhost','user','pass') or die("Unable to select host");

    mysql_select_db('StatDB') or die("Unable to select database");

    $query  = "SELECT * FROM Stats";

    $result=mysql_query($query);

    $retVal = mysql_result($result,0,"Usage");

    $oldTime = new DateTime($retVal);

    $oldTime->modify('+'. $seconds .' seconds');

    $from = date("Y-m-d H:i:s", strtotime($oldTime->format('Y-m-d H:i:s')));

    $query2  = "UPDATE Stats SET Usage = $from";
    echo $query2;

    $result2=mysql_query($query2);

    mysql_close();
}

有谁可以解决这个问题?

由于

3 个答案:

答案 0 :(得分:1)

尝试:

$query2  = "UPDATE `Stats` SET `Usage` = '$from'";

'Usage'是MySQL中的保留字:

http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

答案 1 :(得分:0)

这可能与您的查询中缺少引号有关。查看此question的答案。

UPDATE Stats SET Usage = '1970-01-01 00:00:12'

您应该用单引号括起日期时间值。

答案 2 :(得分:0)

您可以使用一个查询完成所有这些操作:

UPDATE Stats SET Usage = Usage + INTERVAL $seconds SECOND