제목 | mysql 결과값중 int 값이 string으로 뽑히는 문제 | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 아톰_ | 작성시각 | 2019/03/21 11:03:32 |
|
|||
안녕하세요.
코드이그나이터 model내에서 쿼리를통해 ($this->db->get()->result_array()) 결과값을 json으로 바로 리턴해주는 api가 하나 있다고했을때 mysql내에서는 int값으로 지정이 되있음에도 불구하고 모두 String 값으로 캐스팅이 되어버리는 현상때문에 질문드려요. 서버단에서 위 데이터에대해서 별다른 작업을 할 필요가 없음에도 불구하고 int인 값들을 하나하나 캐스팅을 하기위해 루프를 돌리는 작업이 들어가야 하는건가요?? 아니면 다른 방법이 있을까요?? 여기저기 검색을 해보다가 답을 못찾아 여기에 질문을 남기게 됐네요
감사합니다. |
|||
다음글 | view에서 워터마크 처리할때 (3) | ||
이전글 | java spring 의 BCryptPasswordEn... (2) | ||
한대승(불의회상)
/
2019/03/21 11:11:45 /
추천
0
|
아톰_
/
2019/03/21 11:36:48 /
추천
0
한대승님 답변 감사합니다. 저도 추가로 찾아봤는데 말씀하신것처럼 php mysqli 드라이버 설정 관련 문제인것같네요. 우선 system -> database -> drivers -> mysqli -> mysqli_driver.php 파일의 mysqli 옵션 설정부분에 아래 설정을 추가해주니 정상 작동 됩니다. (183 line)
한편 json_encode($data,JSON_NUMERIC_CHECK) 두번째 인자값을 넣어주는 해결책도 있어 사용해봤더니 DB에선 varchar 필드인데도 불구하고 실제 데이터는 숫자 형식이라면 이것또한 int값으로 캐스팅되는 문제가 있네요. 같은 고민을 하시는분들도 참고하셨으면 좋겠네요
감사드립니다.! |
코드이그나이터의 문제라기 보다 php mysql 결과 함수 설정 문제로 보입니다.
아래 링크를 확인해 보시면 설정을 통해 조정이 가능해 보이기는 합니다.
https://stackoverflow.com/questions/5323146/mysql-integer-field-is-returned-as-string-in-php