PHP MySQL 挿入での日付形式の不一致
PHP を使用して MySQL データベースに日付を挿入しようとすると、次のようなエラーが発生する可能性があります。形式の不一致。一般的な jQuery 日付ピッカー形式「08/25/2012」は、MySQL でサポートされている日付形式と競合します。
この問題に対処するには、MySQL の日付リテラル要件を理解することが重要です。
「08/25/2012」形式はこれらの規則に準拠していないため、変換する必要があります。いくつかのオプションが利用可能です:
1. jQuery Datepicker 形式の変換
サポートされている形式で日付を提供するように datepicker を構成します:
$( "selector" ).datepicker({ altField : "#actualDate" altFormat: "yyyy-mm-dd" });
または、dateFormat オプションを設定します:
$( "selector" ).datepicker({ dateFormat: "yyyy-mm-dd" });
2. MySQL の STR_TO_DATE() 関数を使用します
挿入中に文字列を変換します:
INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
3. PHP の DateTime オブジェクトを使用した変換
適切な形式の文字列または UNIX タイムスタンプを取得します:
$dt = \DateTime::createFromFormat('m/d/Y', $_POST['date']); $date = $dt->format('Y-m-d'); $timestamp = $dt->getTimestamp();
UNIX タイムスタンプ挿入の場合:
INSERT INTO user_date VALUES ('', '$name', FROM_UNIXTIME($timestamp))
4 。手動文字列操作
日付部分を抽出し、有効な形式で連結します:
$parts = explode('/', $_POST['date']); $date = "$parts[2]-$parts[0]-$parts[1]";
注意:
以上がPHP から MySQL に日付を挿入するときに日付形式の競合を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。