Я пытаюсь использовать FullCalendar v4 и не могу опубликовать данные в MySQL.Я сузил проблему до $ start и $ end с UTC на конце, и MySQL не примет это, даже если мой тип данных - TIMESTAMP.Если я вручную назначу стандартные данные даты и времени (без UTC) для $ start и $ end, они будут опубликованы в таблице.У меня есть закомментированные операторы в event.php, которые работают, переопределяя данные в $ POST.
Я думаю, что у меня есть что-то косо в MySQL, которое заставляет тип данных TIMESTAMP фактически быть типом данных DATETIME,Я удалил и создал таблицу с оператором SQL, показанным ниже.
Выполнение -> MySQL 8.01.5, Windows Server 2016, PHP 7.2.7, с использованием jQuery
... CREATE TABLE calendarsystem.events (
id int(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(45) NOT NULL ,
start TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
end TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
resourceId VARCHAR(45) NOT NULL ,
PRIMARY KEY (id)
);
...
Код add_event.php:
<?php
$title = $_POST['title'];
$start = $_POST['start'];
$end = $_POST['end'];
$resourceId = $_POST['resourceId'];
//$title = 'wtf';
//$start = '2019-03-25 16:00:00';
//$end = '2019-03-25T17:00:00';
//$resourceId = 'b';
try {
require "db_config.php";
} catch(Exception $e) {
exit('Unable to connect to database.');
}
$sql = "INSERT INTO events (title, start, end, resourceId) VALUES (:title, :start, :end, :resourceId )";
$q = $bdd->prepare($sql);
q->execute(array(':title'=>$title,':start'=>$start,':end'=>$end,':resourceId'=>$resourceId));
?>
...
Если я открою MySQLРабочая среда и попытка добавить данные с UTC, скопированные из окна вывода Chrome. При применении возникает следующая ошибка:
Операция не выполнена: при применении сценария SQL к базе данных произошла ошибка. Выполнение: INSERTINTO calendarsystem
. events
(start
, end
, title
, resourceId
) ЗНАЧЕНИЯ ('2019-03-25T14: 00: 00-05: 00', '2019-03-25T15:00: 00-05: 00 ',' xxx ',' b ');
ОШИБКА 1292: 1292: неверное значение даты и времени:' 2019-03-25T14: 00: 00-05: 00 'для столбца'start' в строке 1 SQL-оператор: INSERT INTO calendarsystem
. events
(start
, end
, title
, resourceId
) VALUES ('2019-03-25T14: 00: 00-05:00 ',' 2019-03-25T15: 00: 00-05: 00 ',' xxx ',' b ')
Извините, пост-форматирование - crappу