2026, 새로운 도약을 시작합니다.

A PHP Error was encountered : Undefined index 채택완료

Copy


public function get_contents()

    {

        $param = $_POST["param"];

        $this->output($this->Madmin->get_contents($param));

    }
Copy


public function get_contents($param)

    {

        $category_id_list = isset($param["category_id_list"]) ? $param["category_id_list"] : [];

        if (empty($category_id_list)) {

            $result["count"] = 0;

            $result["list"] = [];

            return $result;

        }

        

        $this->db->start_cache();

        $cname=[];

        $cname["c_1"] = "1";

        $cname["c_2"] = "2";

        $cname["c_3"] = "3";

        $cname["c_4"] = "4";

        $sql = "(";

        $bFirst = true;

        foreach($category_id_list as $tablename){

            $s = "select A.create_time as create_time, A.user_id user_id, '{$tablename}' as category_id, B.nickname user_nickname, '{$cname[$tablename]}' as category_name";

            $s .= " from " . $tablename . " A";        

            $s .= " left join user B on A.user_id = B.id";

            if (!empty($param["keyword"]))

                $s .= " where B.nickname like '%{$param["keyword"]}%'";

            $s .= " group by A.user_id";

            if(!$bFirst){

                $sql .= " UNION ALL ";

            }

            $bFirst = false;

            $sql .= "(" . $s . ")";

        }

        $sql .= ") as calc";

        $this->db->select("*");

        $this->db->from($sql);

        

        $this->db->stop_cache();

        $result = [];

        $result["count"] = $this->db->count_all_results();

        $this->db->order_by("create_time", "asc");

        $this->db->limit($param["itemsByPage"], ($param["page"] - 1) * $param["itemsByPage"]);

        $result["list"] = $this->db->get()->result_array();

        $this->db->flush_cache();

        return $result;

    }

원래는 문제없이 잘 작동되었었는데, 갑자기 A PHP Error was encountered 오류가 뜨면서 데이터를 받아오지 못하더라구요... 며칠전에 aws에서 스냅샷 복구하면서 소스코드가 꼬인건가 싶어서 백업해둔 기존 코드랑 비교해보고 바꿔도 안되네요... 방법이 없을까요...

3530079757_1658707817.9328.png

답변 1개

채택된 답변
+20 포인트

에러알림이 켜진거 같네요. Notice 를 꺼버리면 되는데 여러 방법이 있습니다.

코드이그나이터3 인거 같은데(아닐수도 있구요).

application/config/config.php 맨 위에다가 아래 코드를 넣어보세요.

이렇게 하면 될려나. 안되면 다른 방법을 찾아보시길

Copy


ini_set('display_errors', '1'); // 아예 에러를 꺼버리려면 0으로

error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_USER_NOTICE & ~E_USER_DEPRECATED); // 옵션을 바꿀 수 있습니다.

~E_NOTICE 가 notice를 끄는 구문입니다.

참고로 CI3는 메인 index.php  맨 위에  error_reporting() 함수가 있다고 합니다. 그 부분이 있다면 거길 수정하셔도 될듯합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다 :)

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고