A PHP Error was encountered : Undefined index
본문
public function get_contents()
{
$param = $_POST["param"];
$this->output($this->Madmin->get_contents($param));
}
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에서 스냅샷 복구하면서 소스코드가 꼬인건가 싶어서 백업해둔 기존 코드랑 비교해보고 바꿔도 안되네요... 방법이 없을까요...
!-->!-->
답변 1
에러알림이 켜진거 같네요. Notice 를 꺼버리면 되는데 여러 방법이 있습니다.
코드이그나이터3 인거 같은데(아닐수도 있구요).
application/config/config.php 맨 위에다가 아래 코드를 넣어보세요.
이렇게 하면 될려나. 안되면 다른 방법을 찾아보시길
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() 함수가 있다고 합니다. 그 부분이 있다면 거길 수정하셔도 될듯합니다.
!-->
답변을 작성하시기 전에 로그인 해주세요.