ホームページ >データベース >mysql チュートリアル >PHP および MySQL での「0000-00-00 00:00:00」日付挿入エラーを修正する方法
PHP MySQL 日付形式の挿入: 無効な日付の問題の解決
MySQL データベースに日付を挿入すると、データベースがエラーになる場合があります。コード内の日付形式が正しいにもかかわらず、「0000-00-00 00 00 00」のみを挿入します。この問題は、日付形式が MySQL によって認識されない場合に発生します。
この問題を解決するには、MySQL が受け入れる指定された日付形式に従うことが重要です。
指定されたコードでは、日付は ' の形式で受信されます。 08/25/2012」は、MySQL によって認識されません。したがって、日付形式をサポートされている形式のいずれかに変更する必要があります。
日付形式の問題を解決するためのオプション:
altField と <code data-type="javascript">altFormat を使用して、次の形式を指定します。日付は PHP スクリプトに渡されます。たとえば、<code data-type="javascript">altFormat: "yyyy-mm-dd".
STR_TO_DATE() 関数を使用します: STR_TO_DATE() を使用して日付文字列を MySQL のサポートされている形式に変換します。関数。例:
INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
DateTime オブジェクトを使用する: 日付文字列を PHP DateTime オブジェクトに変換し、書式設定された文字列を取得して、挿入クエリで使用します。例:
$dt = \DateTime::createFromFormat('m/d/Y', $_POST['date']); $date = $dt->format('Y-m-d'); INSERT INTO user_date VALUES ('', '$name', '$date')
日付文字列の操作: 日付文字列を手動で操作して、有効な MySQL 形式に変換します。例:
$parts = explode('/', $_POST['date']); $date = "$parts[2]-$parts[0]-$parts[1]"; INSERT INTO user_date VALUES ('', '$name', '$date')
追加の考慮事項:
以上がPHP および MySQL での「0000-00-00 00:00:00」日付挿入エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。