2013-04-27 67 views
0

由于我很在意timestamp我想使用dateTime。但由于dateTime不提供自动更新,我需要手动完成。但我的NOW()不会对我的行做任何事情。手动更新日期时间

function user_activity($active){ 
    $query = $this->link->prepare("UPDATE memory SET 
    page = ? AND activity2 = NOW() WHERE user_id='{$_SESSION['id']}' "); 
    $values = array($active); 
    $query->execute($values); 
    $counts = $query->rowCount(); 
    return $counts; 
} 
+0

喜是什么')'在'NOW()'功能? – mongotop 2013-04-27 18:31:23

+0

@mongotop对不起,错字:) – Dymond 2013-04-27 18:43:19

回答

2

不要在您的SET语句中使用AND,而不是使用逗号。它也看起来像你在查询中有太多的)

function user_activity($active) { 
    $query = $this->link->prepare("UPDATE memory SET page = ?, activity2 = NOW() WHERE user_id='{$_SESSION['id']}' "); 
    $values = array($active); 
    $query->execute($values); 
    $counts = $query->rowCount(); 
    return $counts; 
} 
+0

谢谢!几乎把计算机拉出窗口:) – Dymond 2013-04-27 18:53:10

1

正如菲尔提到的,你在这里有一个查询错误。执行SQL查询时始终使用异常处理。

了解Exception Handling

+0

我只是在[PDO错误处理](http://php.net/manual/en/pdo.error-handling.php)上查找最佳做法以添加到我的答案中;但由于没有关于例外的报道,所以在这里可能无济于事。 – 2013-04-27 18:48:09

+0

如果您可以编辑您的答案并编写关于PDO错误处理的最佳实践,以便程序员立即知道程序中的某个地方发生了查询错误,那将是非常好的选择。 :) – Manu 2013-04-27 18:58:47