Сохранение значения даты как 0000-00-00 00:00:00 в поле МЕТКИ ВРЕМЕНИ, когда запрос, по-видимому, находится в формате ok

#php #mysql #sql #date #datetime

#php #mysql #sql #Дата #datetime

Вопрос:

У меня есть event таблица, в которой поля похожи:

 id  int(11)
event_id    int(11)
title   varchar(300)
url varchar(30)
tags    varchar(300)
end_date    timestamp
created_at  timestamp   
  

Теперь я выполняю запрос типа:

 INSERT INTO `events` 
(`event_id`, `title`, `url`, `tags`, `end_date`) 
VALUES 
('448761', 'event title', 'http://calendar.google.com/', 'reserve|call|urgent','2014-07-25 08:00:00')
  

Я генерирую значение с end_date помощью следующего кода:

 ...
$end_date = date('Y-m-d H:i:s', strtotime($_POST['end_date']));
...
  

Но после выполнения запроса значение, сохраненное в базе 0000-00-00 00:00:00 данных, равно!!!! Запрос даже не выдает ошибку.

Чего мне может не хватать? Как я могу избавиться от этого?

Заранее спасибо за ответ.

Комментарии:

1. Просто используйте strototime для метки $end_date = strototime($_POST['end_date']); времени не нужна date функция

2. $_POST['end_date'] имеет значение и похоже 1307595105 ?

3. В strototime вашем вопросе опечатка? Возможно, вы имеете в виду strtotime ?

4. Временная метка Mysql НЕ является меткой времени unix! Он НЕ поддерживает обычное «количество секунд с момента начала эпохи». Таким образом, только strtotime здесь не будет работать.

5. Отправленный вами запрос должен работать нормально. Происходит что-то еще.