Ответ 1
Не сохранять его как временную метку Unix (которая выдает strtotime()
), а как "2012-12-02 13:00" в столбец DATETIME.
Я не могу поверить, что не могу этого сделать, но хочу сохранить текущую дату и время от php в таблице mysql.
Столбец таблицы - это тип datetime. Я пробовал это
$current_date = date("Y-m-d");
$my_date = strtotime($current_date);
INSERT INTO my_table (date_time) VALUES ('$my_date')
но моя временная метка появляется как 0000-00-00 00:00:00
Это должно быть так легко сделать, но я просто не могу заставить его работать! Я хочу использовать временную метку из php, а не использовать функцию mysql now()
Не сохранять его как временную метку Unix (которая выдает strtotime()
), а как "2012-12-02 13:00" в столбец DATETIME.
Попробуйте следующее:
$my_date = date("Y-m-d H:i:s");
INSERT INTO my_table (date_time) VALUES ('$my_date');
В параметре date-format функции date используйте:
"H" для 24-часового формата
'h' для 12-часового формата
Создайте тип столбца TIMESTAMP и установите значение NOT NULL. Затем перейдите в NULL во время INSERT, и MySQL введет текущую дату и время. Это работает для меня.
установите "тип" столбца с именем "date_time" как "DATETIME" и запустите следующий запрос:
INSERT INTO my_table (`date_time`) VALUES (CURRENT_TIMESTAMP)
Если у вас есть дата в PHP как временная метка, вы можете использовать функцию FROM_UNIXTIME [1]
mysql> insert into table_name values (FROM_UNIXTIME(your_timestamp_here));
Надеюсь, что это помогло
[1]. https://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_from-unixtime
Удалите strtotime()
$current_date = date("Y-m-d");
INSERT INTO my_table (date_time) VALUES ('$current_date')
Если вы хотите включить час, минуты и секунды, $ current_date = date ( "Y-m-d H: i: s" );