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

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

Susan Sarandon
Susan Sarandon원래의
2024-11-27 03:56:12278검색

How to Properly Insert Dates from PHP into MySQL?

PHP를 사용하여 MySQL에 날짜를 삽입하는 방법

MySQL에 날짜를 삽입하는 것은 혼란스러운 작업일 수 있으며, 특히 다른 날짜 형식을 사용할 때 더욱 그렇습니다. 이 기사에서는 "PHP mysql 날짜 삽입 형식" 문제에 초점을 맞춰 PHP와 MySQL을 사용하여 날짜를 삽입하는 일반적인 문제를 해결하는 방법을 보여줍니다.

문제

jQuery 날짜 선택기를 사용할 때 날짜 형식은 일반적으로 "MM/DD/YYYY" 형식입니다(예: "2012년 8월 25일"). 그러나 MySQL에서는 날짜 값이 다음 중 하나여야 합니다. 형식:

  • 'YYYY-MM-DD'
  • 'YY-MM-DD'
  • YYYYMMDD
  • YYMMDD

날짜를 삽입하려고 합니다. "MM/DD/YYYY" 형식을 사용하면 '0000-00-00 00:00:00'이 삽입되어 오류가 발생합니다.

해결 방법

이 있습니다. 이 문제를 해결하기 위한 몇 가지 옵션:

  1. 구성 Datepicker: Datepicker가 올바른 형식의 날짜를 제공하도록 altFormat 또는 dateFormat 옵션을 'YYYY-MM-DD'로 설정합니다.
  2. STR_TO_DATE() 사용: 날짜 문자열을 변환합니다. STR_TO_DATE()를 사용하여 MySQL 형식으로 함수:
INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
  1. PHP DateTime으로 변환: PHP DateTime 객체를 생성하고 날짜 형식을 지정하거나 타임스탬프를 검색합니다.
$dt = DateTime::createFromFormat('m/d/Y', $_POST['date']);
$date = $dt->format('Y-m-d'); // formatted string
$timestamp = $dt->getTimestamp(); // UNIX timestamp for FROM_UNIXTIME() function
  1. 문자열 수동 조작: 날짜 문자열을 여러 부분으로 나누고 필요한 형식으로 연결합니다.
$parts = explode('/', $_POST['date']);
$date = "$parts[2]-$parts[0]-$parts[1]";

중요 사항

  • SQL 삽입을 방지하려면 준비된 문을 사용하세요. .
  • mysql_* 함수는 더 이상 사용되지 않습니다. 대신 mysqli 또는 PDO_MySQL을 사용해 보세요.
  • 날짜 저장에 DATETIME이나 TIMESTAMP 대신 DATE 유형을 사용하는 것이 좋습니다.

이러한 솔루션 중 하나를 구현하면 올바른 형식을 MySQL로 변환하세요.

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

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