2012-01-08 2 views
1

사용자가 생일을 선택할 수있는 양식에 3 개의 드롭 다운 메뉴가 있습니다. 하나는 날짜, 하나는 한 달, 다른 하나는 한 해.MySQL DATE 필드에 삽입 할 데이터를 준비하는 방법은 무엇입니까?

는 지금은 다음과 같이 사용자에 의해 주어진 날짜 준비 CAM :

$date = sanitize($_POST['year']).'-'.sanitize($_POST['month']).'-'.sanitize($_POST['day']); 

을하고 날짜 필드에 데이터베이스에 $date를 삽입. 날짜 별 정렬 등이 필드의 값을 기반으로 작업을 수행 할 수 있기를 원합니다 ...

데이터를 준비하는 올바른 방법입니까 아니면 하이픈이 없어야합니까?

+1

하이픈으로 확인해주세요. – Chibuzo

답변

1

MySQL manual page on DATE에 따르면 올바른 형식은 'YYYY-MM-DD'이므로 제대로 작동하는 것처럼 보이며 MySQL date and date comparison operations and functions을 모두 사용할 수 있습니다.

그러나 사용자 입력의 보안 또는 유효성을 신뢰하지 않으면 사용자 입력을 데이터베이스에 보내기 전에 유효성을 검사해야합니다. 당신은 아마 3 드롭 다운 데이터를 가지고 있지만,

$date = date('Y-m-d', strtotime($_POST['month'].'-'.$_POST['day'].'-'.$_POST['year'])); 
1

내가 한 strtotime를 사용하여 텍스트를 변환 할 동의는 다음을 확인 : 어쩌면 당신은 삽입하는 날짜가 유효한지 확인하기 위해 PHP의 date()를 통해 실행해야합니다 2 월 30 일 같이 물건을 던질 수도 있습니다.

관련 문제