日付と同じ日付に 1 週間を加えた新しい行をデータベースに挿入しようとしています。
私はphpでPDOを使用していますが、それが関連しているかどうかわかりません。
これは失敗するコードです:
$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 が含まれています。これは有効な日付であり、フィールドは別のクエリの DB から取得した DATE タイプです