2012-05-30 2 views
-2

나는이 쿼리 문자열 (그것 쉽게 읽을 수 있도록 단축)로 표현했다 :PHP - 데이터베이스에 날짜를 삽입하면 날짜 형식이 잘못됩니까?

$query = 'INSERT INTO mytable (ke_voucher_date) VALUES (\'%s\')'; 

지금이 내가 다음에 할 것입니다 :

$query = vsprintf($query, array_map('mysql_real_escape_string', $params)); 
mysql_query($query); 

$의 PARAMS 모두 보유하는 배열입니다 이 경우 (단축되어 있기 때문에) dd.mm.yyyy (21.04.2012) 형식의 날짜 만 저장해야합니다. 그 결과는 21.04.2026입니다. 코드, 아이디어에 무슨 문제가 있습니까? 어쩌면 % s일까요?

감사합니다.

+1

알고있는 한, MySQL에는 YYYY-mm-dd 형식이 필요합니다. – Corbin

+1

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-types.html - 왜 그 날짜 형식을 사용하는지 설명하고 왜 작동 할 것이라고 기대할 수 있습니까? – hakre

답변

1

"21.04.2012"는 MySQL이 좋아하는 형식이 아닙니다. 날짜는 항상 Y-m-d으로 지정해야합니다. 2012-04-21.

MySQL은 값을 여러 형식으로 해석하려고 시도하지만 날짜 부분은 항상 월 - 일 - 일 순서가 아닌 년 - 월 - 일 순서 (예 : '98 -09-04 ' ('09 -04-98 ', '04 -09-98'과 같이) 다른 곳에서 일반적으로 사용되는 년 또는 일 - 월 - 연도 주문.

관련 문제