ホームページ >データベース >mysql チュートリアル >PHP を使用して jQuery DatePicker から MySQL データベースに日付を正しく挿入する方法

PHP を使用して jQuery DatePicker から MySQL データベースに日付を正しく挿入する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-12-08 16:10:12407ブラウズ

How to Correctly Insert Dates from jQuery DatePicker into a MySQL Database Using PHP?

PHP MySQL Insert の不正な日付形式

jQuery の datepicker を使用して、PHP の mysql_query 関数を使用してデータベースに日付を入力する場合、次のことを確認することが重要です日付形式が MySQL に従っていること

MySQL の日付形式

MySQL ドキュメントで説明されているように、MySQL データベースに挿入する有効な日付形式は次のとおりです。

  • 「YYYY-MM-DD」または「YY-MM-DD」の有無にかかわらず区切り文字
  • 数値形式の'YYYYMMDD' または 'YYMMDD'
  • MySQL の FROM_UNIXTIME() 関数に渡された UNIX タイムスタンプ

'08 のエラー/2012/25' Date

指定されたコードでは、日付ピッカーは '08/25/2012' という形式に設定されていますが、これは MySQL によって有効な日付リテラルとして認識されません。この結果、データベースには「0000-00-00 00 00 00」のみが挿入されます。

解決策

この問題を修正するには、いくつかのオプションがあります。

  1. 設定Datepicker: altField および altFormat オプションを使用して、サポートされている形式で日付を提供するように Datepicker を設定します。
  2. STR_TO_DATE 関数を使用する: MySQL の STR_TO_DATE() 関数を使用して jQuery 日付文字列を変換します。
  3. 日付を変換PHP: DateTime オブジェクトなどを使用して、文字列を PHP 内で有効な日付に手動で変換します。
  4. 日付を手動で解析: 日付文字列をコンポーネントに分割して組み立てます。有効な MySQL 形式に変換します。

SQL インジェクション脆弱性

提供された PHP コードは SQL インジェクションに対して脆弱であることに注意することが重要です。このセキュリティ リスクを防ぐには、プリペアド ステートメントの利用を検討してください。

非推奨の mysql_* 関数

さらに、mysql_* 関数は PHP では非推奨となっており、次のいずれかに置き換えることをお勧めします。 mysqli または PDO_MySQL extensions.

DATE 型を検討します

最後に、時刻コンポーネントのない日付値を格納するために、DATETIME または TIMESTAMP カラムの代わりに MySQL DATE 型を使用することを検討してください。

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

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