개발 Q&A

제목 result_array() 실행시 Call to a member function result_array() on bool 에러발생
카테고리 PHP
글쓴이 개린이살려 작성시각 2022/10/19 11:03:00
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 1088   RSS
$query ={셀렉트문}

$result = $this->db->query($query);

return $result ->result_array();

실행시  Call to a member function result_array() on bool에러가 발생합니다

생성된 셀렉트문 db에 입력해보면 결과는 없는것으로 나오긴 하지만 에러는 없습니다

다른 셀렉트문에서는 빈 쿼리결과값에 result_array();를 사용해도 오류가 나지 않는데

유독 한 부분에서만 오류가 납니다

문제는 이게 운영서버에서는 괜찮은데 제 로컬에서만 문제가 발생한다는겁니다

혹시 ci db 커넥트시 로컬서버 설정(php나 아파치) 때문에 오류가 발생할 수도 있나요?

로컬서버는 xampp 7.4.30 사용중입니다

마감이 다가오는데 여기 붙잡혀서 한참 헤매고 있습니다

혹시 아시는분은 제발 도와주세요 ㅜㅜ

 

추가로 $qry에 is_bool 확인해보면 아니라고 나옵니다

 다음글 한 div 의 image alpha값을 다른 엘리먼트에...
 이전글 @import경로에 관하여 (3)

댓글

한대승(불의회상) / 2022/10/19 11:43:38 / 추천 1

작성해주신 코드를 보니 조금 이상한게 보이네요 ^^

$result = $this->db->query($query);
return $qry->result_array();

이렇게 고쳐서 테스트 해보세요.

$result = $this->db->query($query);
return $result->result_array();

작성된 코드대로라면 운영서버에서도 에러가 났을거에요.

개린이살려 / 2022/10/19 12:37:31 / 추천 0

오타입니다 

$result = $this->db->query($query);
return $result->result_array();

원본코드는 이렇게 되어있습니다

한대승(불의회상) / 2022/10/19 14:00:10 / 추천 1

무슨 이유인지는 모르지만 $result 값이 null인 경우입니다.

DB 정보 및 방화벽 차단 여부 확인하여 보세요.

개린이살려 / 2022/10/19 16:33:14 / 추천 0

var_dump($result)

object(CI_DB_mysqli_result)#43 (8) { ["conn_id"]=> object(mysqli)#15 (18) { ["affected_rows"]=> int(0) ......

값이 null은 아닌것같습니다

한대승(불의회상) / 2022/10/19 16:42:46 / 추천 0

댓글대로 제대로된 object가 나온다면 오류가 안날건데요 ^^

오류 메시지가 "Call to a member function result_array() on bool" 이니 $result가 object가 아닌 boolean 값이라 메소드 호출이 불가한거거든요.

변종원(웅파) / 2022/10/25 15:44:06 / 추천 0

$result = $this->db->query($query)->result_array();

return $result;

이렇게 해보세요.