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

jQuery Datepicker から MySQL データベースに日付を適切に挿入するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-28 07:15:12389ブラウズ

How to Properly Insert Dates from a jQuery Datepicker into a MySQL Database?

PHP mysql insert date format

「MM/DD/YYYY」形式の jQuery 日付ピッカーを使用して日付を挿入する場合MySQL データベースでは、挿入された日付が「0000-00-00」として保存されるとエラーが発生する可能性があります。 00:00:00'。この問題は、「MM/DD/YYYY」形式が MySQL によって有効な日付リテラルとして認識されないために発生します。

日付と時刻リテラルに関する MySQL ドキュメントによると、MySQL は次の形式の DATE 値を認識します。

  • 'YYYY-MM-DD' または 'YY-MM-DD' (ありまたはなし) '/'、'-'、または '.' などの区切り文字)
  • 'YYYYMMDD' または 'YYMMDD' (区切り文字なし)
  • YYYYMMDD または YYMMDD 形式の数値 (次のように意味がある場合)日付

この問題を解決するには、次のことを検討してください。オプション:

  1. PHP の DateTime オブジェクトを使用して日付を変換します:

jQuery 日付ピッカー文字列から DateTime オブジェクトを作成します:

$date = \DateTime::createFromFormat('m/d/Y', $_POST['date']);

次に、日付をサポートされている形式にフォーマットします。形式:

$date_string = $dt->format('Y-m-d');
  1. MySQL の STR_TO_DATE() 関数を使用します:

STR_TO_DATE を使用して jQuery 日付ピッカー文字列を MySQL 互換形式に変換します() function:

INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
  1. 文字列を手動で操作します:

jQuery の datepicker 文字列を月、日、年の部分に分割し、 MySQL互換を作成するstring:

$parts = explode('/', $_POST['date']);
$mysql_date = "$parts[2]-$parts[0]-$parts[1]";
  1. jQuery の datepicker を構成します:

dateFormat または altField altFormat を使用して、サポートされている形式で日付を出力するように datepicker を構成します。オプション:

$( "selector" ).datepicker({
    dateFormat: "yyyy-mm-dd"
});

または

$( "selector" ).datepicker({
    altField: "#actualDate"
    altFormat: "yyyy-mm-dd"
});

注意:

準備されたステートメントを使用して SQL インジェクションから保護することが重要です。さらに、日付の保存には MySQL の DATE データ型を使用することを検討してください。これは、この目的のために特別に設計されているためです。

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

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