2012-12-15 67 views
0

美好的一天!如何保存我發送數據到數據庫裏面的時間?

一般來說,我的問題是關於php/mysql中的時間函數,我如何在mysql數據庫中節省時間?日期我在數據庫chosed「日式」,以節省$日期和我寫了這個代碼在PHP:

$date=date("y-m-d");

,這是我講的是部分與整體代碼:

<?php 
include_once ("connection.php"); 
$name=$_POST['sent_by']; 
$id=$_POST['hidden_id']; 
$id2=$_POST['hidden_id2']; 
$message=$_POST['message']; 
$submit= $_POST['submit']; 
$date=date("y-m-d"); 
$time=time('yyyy-mm-d hh:mm:ss'); 


if($submit){ 

$place="INSERT INTO comments VALUES('','$name','$message','$id','$id2','$date','$time')"; 
$run = mysql_query("$place"); 
die("Your message have been sent Successfully !! <a href='member.php'>click here to return to your page</a>"); 
} 



?> 

爲什麼我需要使用什麼功能?和哪種類型,我必須在數據庫中選擇?

請幫幫我!

感謝和問候

+0

**警告!**您的代碼包含[SQL注入漏洞](http://en.wikipedia.org/wiki/SQL_injection) - 您將未經過濾的未經驗證的用戶輸入($ _POST)直接傳遞給一個SQL字符串。請[切換到PDO](http://php.net/book.pdo)或[mysqli](http://php.net/book.mysqli),以便您可以使用[帶有參數化查詢的預準備語句](http: //en.wikipedia.org/wiki/Prepared_statement)。 – Charles

回答

0

我的建議是,因爲你想在日期和時間組件,您使用時間戳或日期時間類型,而不是日期類型。時間戳類型有一些您需要注意的特殊屬性,但是如果您可以選擇使用時間戳,那麼從存儲角度來看,這是更可取的。有關更多信息,請參見this

您還應該簡單地讓數據庫設置插入時間,這可以使用時間戳自動完成,也可以使用NOW()手動完成。這樣,根據您的代碼將改變你的查詢是

方式一:

$place="INSERT INTO comments VALUES('','$name','$message','$id','$id2', NOW())"; 

請注意,您不再想要或需要PHP創建日期變量。 DATETIME或TIMESTAMP列的值將被設置爲mysql數據庫服務器的系統時間。

+0

可以üPLZ告訴我什麼我必須在PHP中寫入如果我選擇數據庫中的時間戳類型?我試過這個'$ time = now();',我選擇了數據庫中的時間類型,但是對於我來說錯誤說「現在調用未定義的函數()」 –

+0

我更新了答案和細節。 – gview

+0

謝謝你的工作! –