Наличие даты в MySQL в качестве 0000-00-00 00:00:00
обычно означает, что дата, которую вы пытались сохранить в базе данных, не имела допустимого формата / не была распознана как дата в MySQL. Может быть, это проблема с тем, как вы вставляете или обновляете значение даты?
Вы также можете напрямую добавить месяц к дате в MySQL без необходимости выполнять вычисления в PHP с помощью встроенной функции DATE_ADD () из MySQL:
SELECT DATE_ADD(NOW(), INTERVAL 1 MONTH);
Например, запрос
SELECT DATE_ADD('2018-05-15 12:34:56', INTERVAL 1 MONTH);
вернет результат:
+---------------------------------------------------+
| DATE_ADD('2018-05-15 12:34:56', INTERVAL 1 MONTH) |
+---------------------------------------------------+
| 2018-06-15 12:34:56 |
+---------------------------------------------------+
1 row in set (0.00 sec)
Используя это, вы также можете напрямую обновить значение даты до даты, которая на месяц вперед:
UPDATE table_name SET column_name = DATE_ADD(NOW(), INTERVAL 1 MONTH)
WHERE id = your_id;
(Замените имя_таблицы , имя_ столбца , id и your_id в соответствии с вашими потребностями.)