PHP MySQL 日期格式問題
使用指定格式的jQuery 日期選擇器時(例如,「08/25/2012」),將所選日期作為日期值插入MySQL資料庫可能會導致錯誤並顯示預設值改為“0000-00-00 00:00:00”。
原因:
根據 MySQL 的文檔,MySQL 識別特定格式的日期值,包括 'YYYY -MM-DD' 或 'YY-MM-DD'。 MySQL 無法直接辨識 jQuery 日期選擇器所使用的格式('08/25/2012')。
解決方案:
有多種方法可以解決此問題問題:
1。使用 AltField 轉換格式:
使用「altField」和「altFormat」選項來設定日期選擇器以提供受支援格式的日期。這將創建一個隱藏字段,其中包含所需格式的日期。
2.使用MySQL的STR_TO_DATE()函數:
函數可以將接收到的字串轉換為有效的MySQL日期值。使用方法如下:
INSERT INTO user_date VALUES('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
3.將日期轉換為PHP DateTime 物件:
使用PHP 的DateTime 物件將接收到的字串轉換為PHP 可以理解的日期格式。
$dt = \DateTime::createFromFormat('m/d/Y', $_POST['date']);
4.手動操作字串:
如果上述選項都不起作用,您可以手動將接收到的字串操作為有效的MySQL日期文字。
$parts = explode('/', $_POST['date']); $date = "$parts[2]-$parts[0]-$parts[1]";
警告:
以上是使用 jQuery Datepicker 時如何解決 PHP 和 MySQL 日期格式不相容問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!