致命错误:在非对象上调用成员函数modify()

时间:2014-06-28 11:50:27

标签: php date pdo

所以我正在做一个过期的网址,这里有一些代码

//DB query
$stmt = $con->prepare("SELECT token_created_at from reset WHERE token = :urltoken");
$stmt->bindValue(':urltoken', $_GET['token']);
$stmt->execute();
$stmt->setFetchMode(PDO::FETCH_ASSOC);
while($row = $stmt->fetch()) {
     $token_created_at = $row['token_created_at'];
}

$expires_at = $token_created_at->modify('+1 hour');

//Return current time to match
$current_time = date('m-d-Y H:i:s ', time());

问题在于我得到的错误

  

(!)致命错误:在第18行的/Users/matt/Desktop/Likes/forgot/activate.php中调用非对象的成员函数modify()

第18行

$expires_at = $token_created_at->modify('+1 hour');

所以,如果我不能这样做,我该怎么做?

1 个答案:

答案 0 :(得分:0)

显然$token_created_at只是一个字符串,而不是一个对象。 要使用modify DateTime类(我认为是),您应首先创建DateTime对象:

$my_dt = new DateTime($token_created_at);
$expires_at = $my_dt->modify(' + some time');