ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して jQuery Datepicker から MySQL に日付を正しく挿入する方法

PHP を使用して jQuery Datepicker から MySQL に日付を正しく挿入する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-11-28 08:36:15713ブラウズ

How to Correctly Insert Dates from jQuery Datepicker into MySQL Using PHP?

PHP を使用した MySQL への日付形式の挿入

MySQL データベースを操作する場合、挿入中に日付値を正しくフォーマットすることが重要です。よくある問題は、日付を間違った形式で挿入するとデータベース エラーが発生することです。

問題:

日付を 'MM で返す jQuery 日付ピッカーを使用しています。 /DD/YYYY' 形式。ただし、MySQL では、「YYYY-MM-DD」、「YY-MM-DD」、「YYYYMMDD」などの特定の形式の日付が必要です。間違った形式で日付を挿入すると、「0000-00-00 00 00 00」が挿入されます。

解決策:

この問題を解決するには、いくつかの方法があります。 :

  • Datepicker を使用するaltField および altFormat オプション: altField および altFormat オプションを設定して、サポートされている形式で日付を提供するように日付ピッカーを構成します。例:
<input type="hidden">
  • MySQL の STR_TO_DATE() 関数を使用して文字列を変換します。 STR_TO_DATE() 関数を使用して、jQuery から受け取った日付文字列を有効な MySQL 形式に変換します。 ) function:
INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
  • PHP の DateTime クラスを使用します: 文字列を PHP DateTime オブジェクトに変換し、適切な形式の文字列または UNIX タイムスタンプを取得します:
$dt = \DateTime::createFromFormat('m/d/Y', $_POST['date']);
$date = $dt->format('Y-m-d'); // Formatted string
$timestamp = $dt->getTimestamp(); // UNIX timestamp
  • 手動操作文字列: 日付文字列をコンポーネントに手動で分割し、正しい形式で組み立てます:
$parts = explode('/', $_POST['date']);
$date = "$parts[2]-$parts[0]-$parts[1]";

注意:

  1. SQL インジェクションを回避する: SQL インジェクションを防ぐためにプリペアド ステートメントを使用していることを確認してください。
  2. DATETIME または TIMESTAMP の代わりに DATE 型を使用します。 DATE 型は、時刻コンポーネントのない純粋な日付値を保存する場合に推奨されます。

追加メモ:

  • mysql_*関数は PHP 5.5.0 では非推奨となっており、mysqli または PDO_MySQL 拡張機能に置き換える必要があります。
  • STR_TO_DATE() 関数では、日付文字列を解析するために date_format システム変数を適切な形式に設定する必要があります。

以上がPHP を使用して jQuery Datepicker から MySQL に日付を正しく挿入する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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