Wednesday, August 22, 2012

따끈따끈한 PHP, MySql 삽질기

데이터베이스 필드 타입중 date가 있어서 여기에 생년월일 데이터를 넣는 작업을 하고 있었습니다. 그런데 자꾸 실제 데이터를 보니 0000-00-00이 나오는겁니다.

클라이언트에서 생년월일 데이터를 년, 월, 일로 따로 넘기고 php의 mkdate를 써야 하나?
고민을 하고 있었는데 아무래도 이건 마음에 안드는겁니다. 왜냐면 클라이언트측에서 3개를 따로 넘겨야 하고 서버측에서도 굳이 date를 다시 구성해서 db에 넣어주어야 하니까요.

클라이언트에서는 yyyy-MM-dd형식으로 문자열을 만들고 서버로 넘겼는데 계속 0000-00-00으로 나왔었습니다.

회사 동료분께서 query문 자체로 넘겨보자고 해서 yyyy/MM/dd형식으로 넘겨보니... 어라? 제대로 나왔습니다.

문제가 해결되었는데 아무래도 찜찜해서 혹시 문자열 포맷 문제가 아니라 서버 코드랑 query문이랑 다른가? 하고 체크...

보니까 클라이언트에서 받은 문자열 데이터를 query문에 넣을 때 '...'으로 감싸지 않았더군요. 즉, 정수형태로 date에 들어간게 문제였습니다.

date의 문자열은 / 포맷도 괜찮고 - 포맷도 괜찮았던거였어요.

끝.

No comments:

Post a Comment

Task in UnrealEngine

 https://www.youtube.com/watch?v=1lBadANnJaw