Я просто вижу, что вы столкнулись с синтаксической ошибкой SQL - вы не можете использовать синтаксис INSERT...VALUES
и INSERT...SELECT
в одном запросе - вы должны использовать один или другой. Но вам не нужно SELECT
здесь, вы можете просто поместить функцию DATEDIFF в качестве одного из значений. Вам также не нужны кавычки вокруг параметров, которые вы передаете в DATEDIFF.
Вы также не можете использовать одно и то же имя параметра дважды в PDO.
Это должно работать лучше, я думаю (хотя Я не могу проверить это, очевидно):
$query_event = "INSERT INTO events (title, name, color, start, end, total) "
. "VALUES (:title, :name, :color, :start, :end, DATEDIFF(:start2, :end2))";
$insert_event = $conn->prepare($query_event);
$insert_event->bindParam(':title', $dados['title']);
$insert_event->bindParam(':name', $dados['name']);
$insert_event->bindParam(':color', $dados['color']);
$insert_event->bindParam(':start', $data_start_conv);
$insert_event->bindParam(':end', $data_end_conv);
$insert_event->bindParam(':start2', $data_start_conv);
$insert_event->bindParam(':end2', $data_end_conv);
PS Если при запуске кода все еще есть другие проблемы, вам нужно будет объяснить это специально, так как вы не упомянули их на начать.