2016-04-23 8 views
0

私のデータベースに新しい行が追加されたときにタイムスタンプを入れようとしています(後でブログのように表示するため)。getdate()を列に挿入します

ここに私のコードがありますが、日付は登録されません。

$sql = 'INSERT INTO `Content` (postContent, datePosted) VALUES ("'.(string)$content.'", "'SELECT getdate()'")'; 

この場合、getdate()の正しい構文は何ですか?

EDIT:これはPHPで、日付も「コンテンツ」に関連付けられている必要があります。

ありがとうございました。

EDIT2:私はうんざりですが、私はCURRENT_TIMESTAMPをMySQLの 'default'に入れておけば、自動的に完了しているはずです。私のように手動でこの問題を解決しようとすると2時間以上費やすのではなく、自分で試してみるとよいでしょう。 ありがとうございます!

答えて

0

文字列のように渡すと、このように置き換えられます。

$date = getdate(); 

$sql = "INSERT INTO `Content` (postContent, datePosted) VALUES ('".$content."', '".$date[0]."')"; 

に格納される値:あなたはこのコードで置き換えます。このコード

$sql = 'INSERT INTO `Content` (postContent, datePosted) VALUES ("'.(string)$content.'",SELECT getdate())'; 

をクエリ

$sql = 'INSERT INTO `Content` (postContent, datePosted) VALUES ("'.(string)$content.'",SELECT getdate())'; 
+0

上記の解決方法と同じエラーが発生します。私は問題が何であるかを考え出すことができません。 – Grymfogel1

0

から二重引用符と単一引用符を削除

datePostedの形式は次のとおりです。

Unix Epoch以降の秒数は、time() によって返され、date()で使用される値と似ています。あなたは簡単にちょうどどのまったく同じ形式としてtime();と比較することによって$currentDate = getdate()またはさらに簡単に作成することによって、データベースの値を比較することができますということであるためにこれが何を意味するのか

PHP Documentation

それが手伝ってくれたら教えてください!

0

[table_name]([列名])の値(now())に挿入