2011-12-14 55 views
1

是否可以使用mysqls NOW()函數並向其中添加秒鐘?

像這樣;

$q = $dbc -> prepare ("UPDATE account SET time = NOW() + $seconds WHERE id = ?"); 

感謝

+2

`UNIX_TIMESTAMP()` – 2011-12-14 17:18:23

回答

10

如果你想在MySQL做到這一點,您可以使用

DATE_ADD(NOW(), INTERVAL $seconds SECOND) 

UNIX_TIMESTAMP() + $seconds 
-1

沒有這是不可能的。

你可以這樣做:

$time = date('Y-m-d H:i:s', strtotime("+2 seconds")); 
$q = $dbc->prepare ("UPDATE account SET time = '$time' WHERE id = ?"); 
+0

@cgwebprojects是的,這是MySQL默認格式。 – Neal 2011-12-14 17:19:47

-1

我不知道你的確切DBC類的用法,但最有可能,你想簡單地添加另一個參數:

$q = $dbc->prepare ("UPDATE account SET time = NOW() + ? WHERE id = ?"); 
$q->execute($seconds, $id); 
+0

仍然無法正常工作(請參閱其他答案) – Neal 2011-12-14 17:19:06

1

您可以添加秒將其與DATE_ADD()

$q = $dbc -> prepare ("UPDATE account SET time = DATE_ADD(NOW(), INTERVAL $seconds SECONDS) WHERE id = ?"); 
+0

請注意,如果我得到$秒=「小johhny表;」進入你的PHP,你有一個漏洞。你可能想使用你的數據庫層佔位符系統(?)而不是簡單地注入$秒。 – berkes 2011-12-14 20:46:02

1
$q = $dbc -> prepare ("UPDATE account SET time = date_add(NOW() + INTERVAL $seconds SECOND) WHERE id = ?");