2013-04-27 65 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