Преобразование временной отметки 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); 

Это самое последнее, что я пробовал, и все еще получаю все нули в поле DATETIME.

Пожалуйста, что я делаю неправильно?

удалите одинарные кавычки из функции 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 , см. Статью ниже, чтобы узнать, как ее защитить

  • Как я могу предотвратить SQL-инъекцию в PHP?