728x90
반응형
문제점 및 원인분석
다음과 같이 CodeIgniter로 모델에서 받은 데이터를 곧바로 세션에 할당하려는 와중에 위와 같은 오류 메시지를 받았습니다.
오류 상세 내용은 아래와 같습니다.
아래 참고자료에 따르면 세션의 색인 참조값을 문자열로 준 것이 아니라, 숫자로 주어서 발생한 것이 문제인데, $admin 배열의 의도를 쿼리 결과를 그대로 받은 것이라 "키"->"값" 쌍의 배열로 의도한 것이었습니다.
하지만, result_array() 함수의 반환값은 레코드들의 단순 배열이라 세션에 바로 할당할 경우, 첫 번째 키값이 문자열이 아닌 숫자 0이 되어 위 그림과 같은 오류가 발생하였습니다.
해결 방안
다음과 같이 첫 번째 행을 세션에 할당하도록 수정하면 문제가 깔끔하게 해결됩니다.
달라진 부분은 set_userdata() 호출 시, $admin를 바로 전달하는 것이 아니라, $admin0 과 같이 첫 번째 행을 전달하게 하면, 0이 키로 할당되는 문제가 해결됩니다.
참고자료
'프로그래밍 > PHP' 카테고리의 다른 글
PHPUnit를 이용한 외부 REST API 단위 시험 (0) | 2019.05.22 |
---|---|
PHP에서 상수의 사용 (0) | 2019.05.21 |
개발계/운영계 PHP 서버 환경 맞추기 (1) | 2019.01.29 |
코드이그나이터(CodeIgniter) 유닛 테스트(Unit Test) 시험 (0) | 2019.01.28 |
PHP 삼항 연산자 ( ? : ) 사용 주의점 (2) | 2018.11.12 |