집 >데이터 베이스 >MySQL 튜토리얼 >PHP에서 MySQL로 날짜를 삽입할 때 날짜 형식 충돌을 해결하는 방법은 무엇입니까?
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!