Я пытаюсь вставить новую строку в свою базу данных с датой и той же датой плюс 1 неделя.DATE_ADD sql в PHP PDO
Я использую PDO в php, не знаю, если это релевантно.
Это код, который не удается:
$stmtEncInsert = $db->prepare("INSERT INTO test
(id_Event, NIF, name , description, image, start_date, end_date)
VALUES (:idOfEvent, :NIF, :name, :description, :image, :startDate, DATE_ADD(:date_end,INTERVAL 1 WEEK)
)");
$stmtEncInsert->execute(array(':idOfEvent' => $idOfEvent, ':NIF'=> $NIF, ':name' => $resEnc['name'], ':description' => $resEnc['description'],
':image' => $resEnc['image'], ':startDate' => $date_end, ':date_end' => $date_end));
Я получаю некоторые данные из других запросов (например: $ resEnc [ '..']), но все данные в порядке. Я попытался напечатать в файле все данные, и все они в порядке, они существуют.
Проблема заключается в том, что последнее поле (end_date) всегда дает ошибку, всегда говорит: вы не можете оставить это поле пустым ...
Я думаю, что это проблема с DATE_ADD или так, но у меня нет нашел что-то связанное с этим.
Я протестировал удаление DATE_ADD и просто используя current_date, и он работает, поэтому я думаю, что это проблема.
Любая идея?
Я использую MySQL в качестве двигателя
Это выход за исключение Дано:
Integrity constraint violation: 1048 Column 'end_date' cannot be null
$ date_end содержит 0000-00-00 он является действительной датой и поле типа DATE получил из БДА от другого запроса
Вам необходимо научиться отлаживать код –
Как общий совет: всегда публиковать сообщения об ошибках (вы можете использовать буфер обмена, чтобы вам не нужно вводить текст), а не их интерпретацию.Кроме того, если есть проблема с 'DATE_ADD (: date_end, INTERVAL 1 WEEK)', как мы можем диагностировать что-либо, если мы не знаем, что ': date_end' содержит? Если '$ date_end' является' 'Dog '', было бы довольно очевидно, почему он терпит неудачу. –
Я уже добавил больше информации – Biribu