ホームページ >バックエンド開発 >PHPチュートリアル >PHP MySQL の日付挿入形式の不一致を修正するにはどうすればよいですか?

PHP MySQL の日付挿入形式の不一致を修正するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-27 09:29:11924ブラウズ

How Can I Fix PHP MySQL Date Insertion Format Mismatches?

PHP MySQL 挿入の日付形式が一致しません

PHP を使用して MySQL データベースに日付を挿入する場合、日付形式が期待どおりであることを確認することが重要です

MySQL は、次のような特定の形式の日付を認識します。 「YYYY-MM-DD」または「YY-MM-DD」。ただし、次のコードを使用して「08/25/2012」などの日付を挿入すると、

mysql_query("INSERT INTO user_date VALUE( '', '$name', '$date')")

データベースは「0000-00-00 00 00 00」を挿入します。これは、MySQL が入力を日付リテラルではなく文字列として解釈するために発生します。

解決策のオプション

この日付形式の問題を解決するには、いくつかのオプションがあります。

  • JavaScript Datepicker を使用する AltField: 代替フィールドを指定します日付を希望の形式で保存します。
  • STR_TO_DATE() で文字列を変換: 挿入する前に、STR_TO_DATE() 関数を使用して文字列を MySQL で認識される日付形式に変換します。
  • PHP DateTime オブジェクトを使用します: 以下から DateTime オブジェクトを作成します
  • 文字列を手動でフォーマットします: 入力文字列を解析し、有効な MySQL 日付リテラルを手動で作成します。

警告

続行する前に、コードが SQL インジェクションから保護されていることを確認し、考慮してください。非推奨の mysql_* 関数の代わりに準備されたステートメントを使用します。さらに、時間情報のない日付を保存するには DATE 型の使用を検討してください。

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

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