2014-04-17 24 views
1

我開始開發一個計數查看器在線系統,而我有一個問題。 我通常使用時間(NOW()),以獲得時間,但現在它給我這個錯誤:致命錯誤:調用未定義的函數NOW()

致命錯誤:調用未定義的函數NOW()

你有任何IDEIA爲什麼會這樣?

$id_session= $_SESSION['startView']['session']; 
if($_SESSION['startView']['time_end'] <= time()) 
     { 
      $delete = $pdo->prepare("DELETE FROM viewers_online WHERE session=? OR time_end <= ? "); 
      $delete->bindValue(1,$id_session); 
      $delete->bindValue(2,time(NOW())); 
      unset($_SESSION['startView']); 
     } 
+5

'NOW()'是一個MySQL函數,不能在'bindValue()'中調用。 –

+0

感謝您的信息!我在PDO新,所以我仍舊習慣! – UserX

回答

2
$delete = $pdo->prepare("DELETE FROM viewers_online WHERE session=? OR time_end <= UNIX_TIMESTAMP(NOW())"); 
$delete->bindValue(1,$id_session); 
unset($_SESSION['startView']); 
+0

謝謝,但我刪除它不也工作與該方法! :S – UserX

+0

「不工作」? – Smokie

+0

你是否在最後做了這個:$ delete-> execute(); ? – Smokie

2

代替NOW(),使用new DateTime()這是一個適當的PHP函數。 NOW()是一個mysql函數。創建新的DateTime()與NOW()等效。

+0

這並非總是如此。這取決於日期字段的格式。使用NOW()總是適合MySQL中的所有日期字段,而不是使用某種格式的PHP日期時間。 –

+0

是的,我現在在說什麼阿齊茲說,因爲我比較像一個時間:「1393361554」 – UserX

相關問題