>백엔드 개발 >PHP 튜토리얼 >PHP를 사용하여 jQuery Datepicker의 날짜를 MySQL에 올바르게 삽입하는 방법은 무엇입니까?

PHP를 사용하여 jQuery Datepicker의 날짜를 MySQL에 올바르게 삽입하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-28 08:36:15788검색

How to Correctly Insert Dates from jQuery Datepicker into MySQL Using PHP?

PHP를 사용하여 MySQL에 날짜 형식 삽입

MySQL 데이터베이스로 작업할 때 삽입하는 동안 날짜 값의 형식을 올바르게 지정하는 것이 중요합니다. 일반적인 문제는 잘못된 형식으로 날짜를 삽입하여 데이터베이스 오류가 발생하는 것입니다.

문제:

'MM'으로 날짜를 반환하는 jQuery datepicker를 사용하고 있습니다. /DD/YYYY' 형식입니다. 그러나 MySQL은 'YYYY-MM-DD', 'YY-MM-DD' 또는 'YYYYMMDD'와 같은 특정 형식의 날짜를 예상합니다. 잘못된 형식으로 날짜를 삽입하면 '0000-00-00 00 00 00'이 삽입됩니다.

해결책:

이 문제를 해결하는 방법에는 여러 가지가 있습니다. :

  • Datepicker를 사용하세요. altField 및 altFormat 옵션: altField 및 altFormat 옵션을 설정하여 지원되는 형식으로 날짜를 제공하도록 날짜 선택기를 구성합니다. 예:
<input type="hidden">
  • MySQL의 STR_TO_DATE() 함수를 사용하여 문자열을 변환합니다. STR_TO_DATE( ) 함수:
INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
  • PHP의 DateTime 클래스 사용: 문자열을 PHP DateTime 객체로 변환한 다음 적합한 형식의 문자열 또는 UNIX 타임스탬프를 얻습니다.
$dt = \DateTime::createFromFormat('m/d/Y', $_POST['date']);
$date = $dt->format('Y-m-d'); // Formatted string
$timestamp = $dt->getTimestamp(); // UNIX timestamp
  • 수동으로 조작 문자열: 날짜 문자열을 구성 요소로 수동으로 분할하고 올바른 형식으로 조합합니다.
$parts = explode('/', $_POST['date']);
$date = "$parts[2]-$parts[0]-$parts[1]";

주의:

  1. SQL 주입 방지: SQL 주입을 방지하려면 준비된 문을 사용하고 있는지 확인하세요.
  2. DATETIME 또는 TIMESTAMP 대신 DATE 유형을 사용하세요. DATE 유형은 시간 구성 요소 없이 순수 날짜 값을 저장하는 데 권장됩니다.

추가 참고 사항:

  • mysql_* 함수는 PHP 5.5.0에서 더 이상 사용되지 않으며 mysqli 또는 PDO_MySQL 확장으로 대체해야 합니다.
  • STR_TO_DATE() 함수를 사용하려면 date_format 시스템 변수를 날짜 문자열 구문 분석에 적합한 형식으로 설정해야 합니다.

위 내용은 PHP를 사용하여 jQuery Datepicker의 날짜를 MySQL에 올바르게 삽입하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.