> 데이터 베이스 > MySQL 튜토리얼 > PHP 및 MySQL에서 '0000-00-00 00:00:00' 날짜 삽입 오류를 수정하는 방법은 무엇입니까?

PHP 및 MySQL에서 '0000-00-00 00:00:00' 날짜 삽입 오류를 수정하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-31 17:44:18
원래의
317명이 탐색했습니다.

How to Fix

PHP MySQL 날짜 삽입 형식: 잘못된 날짜 문제 해결

MySQL 데이터베이스에 날짜를 삽입하면 데이터베이스가 오류가 발생하는 경우가 있습니다. 코드의 날짜 형식이 정확함에도 불구하고 '0000-00-00 00 00 00'만 삽입합니다. 이 문제는 MySQL에서 날짜 형식을 인식하지 못할 때 발생합니다.

이 문제를 해결하려면 MySQL에서 허용하는 지정된 날짜 형식을 따르는 것이 중요합니다.

  • 문자열 형식: 'YYYY-MM-DD' 또는 'YY-MM-DD'(선택사항) 구분 기호.
  • 숫자 형식: YYYYMMDD 또는 YYMMDD(유효한 날짜를 나타내는 경우).

주어진 코드에서 날짜는 ' 08/25/2012', 이는 MySQL에서 인식되지 않습니다. 따라서 날짜 형식을 지원되는 형식 중 하나로 수정해야 합니다.

날짜 형식 문제 해결 옵션:

  1. Datepicker 구성 : altField 및 <code data-type="javascript">altFormat을 사용하여 날짜가 PHP 스크립트에 전달됩니다. 예를 들어, <code data-type="javascript">altFormat: "yyyy-mm-dd".
  2. STR_TO_DATE() 함수 사용: STR_TO_DATE()를 사용하여 날짜 문자열을 MySQL이 지원하는 형식으로 변환합니다. 기능. 예:

    INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
    로그인 후 복사
  3. DateTime 객체 사용: 날짜 문자열을 PHP DateTime 객체로 변환하고 형식이 지정된 문자열을 얻은 다음 삽입 쿼리에 사용합니다. 예:

    $dt = \DateTime::createFromFormat('m/d/Y', $_POST['date']);
    $date = $dt->format('Y-m-d');
    
    INSERT INTO user_date VALUES ('', '$name', '$date')
    로그인 후 복사
  4. 날짜 문자열 조작: 날짜 문자열을 수동으로 조작하여 유효한 MySQL 형식으로 변환합니다. 예:

    $parts = explode('/', $_POST['date']);
    $date = "$parts[2]-$parts[0]-$parts[1]";
    
    INSERT INTO user_date VALUES ('', '$name', '$date')
    로그인 후 복사

추가 고려 사항:

  • SQL 삽입 방지: 매개 변수가 있는 준비된 문을 사용하세요. 보안을 방지하기 위한 쿼리
  • MySQL 5.5 사용 권장 사항: 더 이상 사용되지 않는 mysql_* 기능 대신 mysqli 확장 또는 PDO_MySQL을 사용하십시오.
  • DATE 유형을 고려하세요: 사용 필요한 경우에는 DATETIME 또는 TIMESTAMP 대신 MySQL DATE 유형을 사용하세요. 시간 정보 없이 날짜를 저장합니다.

위 내용은 PHP 및 MySQL에서 '0000-00-00 00:00:00' 날짜 삽입 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿