CI 묻고 답하기

제목 select시 값이 없을때 처리하는법좀 알려주세요
글쓴이 지침 작성시각 2014/02/21 10:09:59
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 17727   RSS
$sql = "
   select idx from aa where Aidx='123' and Bidx='456';
";
 
$re = $this->db->query($sql)->row();
$B= $re->idx;

쿼리는 이렇습니다. 셀렉트시 값이 있으면 $B에 들어가서 정상적으로 처리가 되죠
그런데 셀렉트시 값이 없으면 정상처리가 되지않고 오류가 뜹니다.ㅁ

: Trying to get property of non-object
이런 오류가 뜹니다. 그래서 제가 값이 없을땐 공백이나 0을 뽑아낼수없을까라는 생각이 들었습니다.
방법이 없을까요 
값이 없을때 공백을 뽑아내는 방법이 없을까요

 

 다음글 pdf 제너레이터 (3)
 이전글 컨트롤에서 디코딩 후 뷰에 출력하기 (7)

댓글

변종원(웅파) / 2014/02/21 10:31:16 / 추천 0
$count = $this->db->query($sql)->num_rows();

$count가 0일 경우는 idx가 없는 경우니 빈값을 넣어주면 되겠죠
지침 / 2014/02/21 10:47:54 / 추천 0
 웅파// 웅파님 답변 감사합니다.

조언을 듣고 
$data=array();
$re = $this->db->query($sql);
if ($re->num_rows() > 0){
foreach($re->result() as $val){
$qq= array(
"a"    => $val->a
);
array_push($data, $qq);
}
return $data;
}

이렇게 처리를 하니 값이 없을땐 처리 되지 않고 정상적으로 작동 되더군요.
감사합니다
 

변종원(웅파) / 2014/02/21 11:28:18 / 추천 0
지침/ 빙고~~~~ 수고하셨습니다. ^^ 
지침 / 2014/02/21 13:58:11 / 추천 0
 웅파/ 고맙습니다 ㅎㅎ

한가지 더 궁금한게 생겼는데
모델에선 저렇게 처리하면 정상 작동 됬지만
이젠 뷰에서 
<?php  foreach($ggg as $val){  ?>
<?= $val['a']?>
<?= $val['b']?>
<?= $val['c']?>
<?php } ?>

이렇게 뽑을시 값이 없을떄 오류가 발생하더군요.. 
이럴땐 어떻게 처리해야되죠?

한대승(불의회상) / 2014/02/21 14:03:31 / 추천 0
지침// 모든걸 하나하나 알려드릴순 없습니다.
가르쳐 주는것 보다 고민하고 스스로 길을 찾는게 자신에게 더 남게 된답니다.

<?=isset($val['a']) ? $val['a'] : ''?>

지침 / 2014/02/21 15:17:50 / 추천 0
한대승//
감사합니다. isset써서 하니 쉽게 해결할수있었습니다.

혼자 독학할려니 힘든점이많아 이렇게 질문을 올려보았습니다..
 스스로 해결하도록 더 열심히하겟습니다