2013-01-08 226 views
4

這聽起來很愚蠢,但對於我的生活我無法弄清楚。我已經嘗試了一切。將Unix時間戳轉換爲MySQL DATETIME

的問題是,我無法弄清楚如何讓我的日期字符串到我的MySQL表...我已經轉換爲Unix先佔輸入格式的變化..

$_POST['date']在這格式:19-1-2013 4時43分32秒

$datestr= strtotime($_POST['date']); 
    echo $datestr; 
    $sql = "INSERT INTO `calendar` (`date`, `title`, `event`) VALUES ('FROM_UNIXTIME(".$datestr.")', '".mysql_real_escape_string($_POST['title'])."', '".mysql_real_escape_string($_POST['desc'])."')"; 
    $query = mysql_query($sql); 

這是我一直在嘗試,最近的事情,我還是讓我的時間字段全部爲零。

請問我在做什麼錯?

+0

可能重複[如何轉換時間戳記datetime在MySQL?](http://stackoverflow.com/questions/5362874/how-to-convert-timestamp-to-datetime-in-mysql) – trejder

回答

11

刪除單引號引起功能FROM_UNIXTIME,因爲它會使它成爲一個值。例如

$sql = "INSERT INTO `calendar` (`date`, `title`, `event`) VALUES (FROM_UNIXTIME(".$datestr."), '".mysql_real_escape_string($_POST['title'])."', '".mysql_real_escape_string($_POST['desc'])."')"; 

一點題外話,您的查詢與SQL Injection脆弱的,請參見下面的文章,以瞭解如何保護它

+0

這樣做,謝謝。我會在12分鐘內接受。 –

+0

不客氣! –