2011-12-14 14 views
1

mysqls NOW()関数を使用して秒を追加することはできますか?

ように;

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

おかげ

+2

'UNIX_TIMESTAMP()' –

答えて

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

-1

私はあなたの正確なDBCクラスの利用状況を知らないが、おそらく、あなたは、単に別のパラメータを追加します:

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

まだ動作しません(他の回答を参照) – Neal

1

あなたはDATE_ADD()とそれに秒を追加することができます。

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

$ seconds = "little johhny tables;あなたのPHPには、大きな穴があります。単に$ secondsを入力するのではなく、DBレイヤのプレースホルダシステム(?)を使用したいと思うかもしれません。 – berkes

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