首頁 >後端開發 >php教程 >如何將 jQuery 日期選擇器中的日期正確插入 MySQL 資料庫?

如何將 jQuery 日期選擇器中的日期正確插入 MySQL 資料庫?

Linda Hamilton
Linda Hamilton原創
2024-11-28 07:15:12390瀏覽

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

PHP mysql 插入日期格式

使用 'MM/DD/YYYY' 格式的 jQuery日期選擇器將日期插入MySQL資料庫,您可能會遇到插入日期儲存為「0000-00-00」的錯誤00:00:00'。出現此問題的原因是 MySQL 無法將「MM/DD/YYYY」格式識別為有效的日期文字。

根據有關日期和時間文字的MySQL 文檔,MySQL 識別以下格式的DATE 值:

  • 'YYYYY-MM-DD' 或'YY-MM-DD'(帶或不含分隔符,如'/'、'-' 或'.')
  • 'YYYYMMDD' 或'YYMMDD'(無分隔符號)
  • YYYYMMDD 或YYMMDD 格式的數字(如果它們作為日期有意義)

要解決此問題,您可以探索以下方法options:

  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相容的格式()函數:

INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
  1. 手動操作字串:

將jQuery 日期選擇器分割為月、日和年部分,然後創建一個與MySQL相容的string:

$parts = explode('/', $_POST['date']);
$mysql_date = "$parts[2]-$parts[0]-$parts[1]";
  1. 設定 jQuery 日期選擇器:

使用 dateFormat 或 altField altFormat設定日期選擇器以支援的格式輸出日期選項:

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

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

警告:

使用準備好的語句來防止SQL 注入非常重要。此外,考慮使用 MySQL 中的 DATE 資料類型來儲存日期,因為它是專門為此目的而設計的。

以上是如何將 jQuery 日期選擇器中的日期正確插入 MySQL 資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn