ホームページ >バックエンド開発 >PHPチュートリアル >PHP から MySQL に日付を適切に挿入するにはどうすればよいですか?

PHP から MySQL に日付を適切に挿入するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-27 03:56:12277ブラウズ

How to Properly Insert Dates from PHP into MySQL?

PHP を使用して MySQL に日付を挿入する方法

MySQL への日付の挿入は、特に異なる日付形式を使用する場合、混乱を招く可能性があります。この記事では、「PHP mysql 挿入日付形式」の問題に焦点を当てて、PHP と MySQL を使用して日付を挿入する際の一般的な問題を解決する方法を説明します。

問題

jQuery 日付ピッカーを使用する場合、日付形式は通常「MM/DD/YYYY」の形式になります (例: 「2012 年 8 月 25 日」)。ただし、MySQL では日付値が次のいずれかである必要があります。形式:

  • 'YYYY-MM-DD'
  • 'YY-MM-DD'
  • YYYYMMDD
  • YYMMDD

日付を挿入しようとしています「MM/DD/YYYY」形式ではエラーとなり、「0000-00-00 00:00:00」が挿入されます。

解決策

がありますこの問題を解決するためのいくつかのオプション:

  1. Configure Datepicker: altFormat または dateFormat オプションを「YYYY-MM-DD」に設定して、Datepicker が日付を正しい形式で提供できるようにします。
  2. STR_TO_DATE() を使用します: 日付文字列を変換しますSTR_TO_DATE() を使用して MySQL 形式に変換するfunction:
INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
  1. PHP DateTime に変換: PHP DateTime オブジェクトを作成し、日付を書式設定するか、タイムスタンプを取得します:
$dt = DateTime::createFromFormat('m/d/Y', $_POST['date']);
$date = $dt->format('Y-m-d'); // formatted string
$timestamp = $dt->getTimestamp(); // UNIX timestamp for FROM_UNIXTIME() function
  1. 手動操作文字列: 日付文字列を複数の部分に分割し、必要な形式に連結します:
$parts = explode('/', $_POST['date']);
$date = "$parts[2]-$parts[0]-$parts[1]";

重要な注意事項

  • 準備されたものを使用しますSQL インジェクションを防ぐためのステートメント。
  • mysql_* 関数は非推奨になりました。代わりに mysqli または PDO_MySQL を使用することを検討してください。
  • 日付の保存には DATETIME または TIMESTAMP の代わりに DATE 型を使用することを検討してください。

これらのソリューションのいずれかを実装することで、日付を正常に挿入できます。 MySQL に正しい形式で入力します。

以上がPHP から MySQL に日付を適切に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。