CI 묻고 답하기

제목 CI 에서는 SQL문 처리 실패시 던저주는게 없나요??
글쓴이 초보개발자J 작성시각 2015/01/13 17:20:29
댓글 : 8 추천 : 0 스크랩 : 0 조회수 : 14480   RSS
DB오류나면 어떻게 처리해야될까요..

$flag = $this->db->insert('TABLE',$data);

이런식으로 성공했을때 1을 반환해주면 좋으련만... 실패했을때는 넋놓고 있어야하는걸까요..

어떻게 처리하면좋을지 잘 모르겠습니다.ㅠㅠ 도와주십시오...........
 다음글 파일 다운로드,업로드 질문입니다. (1)
 이전글 초보자 질문 - index.php 제거하는데 문제가 있... (3)

댓글

초보프로그래머 / 2015/01/13 18:43:01 / 추천 0
$this->db->insert('테이블',$data);

if($this->db->affected_rows() > 0)
            return $this->db->insert_id();
        else
            return false;

이런식으로 하면, 성공하면 뭐 insert_id() 함수에 해당하는 값을 넘겨주게 되고, 실패하면 false를 리턴해주면 되죠.
 
헛발이 / 2015/01/14 11:48:52 / 추천 0
저는 이런  식으로 하고 있답니다...

if ($this->db->insert($this->test, $data)) {
       $insert_id = $this->db->insert_id();
       return array('insert_id' => $insert_id);
}
return NULL;
변종원(웅파) / 2015/01/14 14:19:40 / 추천 0
초보프로그래머님 방식이 조금 더 범용적입니다.

affected_row()는 update, insert, delete 모두 사용할 수 있습니다.
진공발차기 / 2015/01/14 18:26:24 / 추천 0
또 한가지를 배웠네요 ^^
초보개발자J / 2015/01/15 10:00:50 / 추천 0
정말 감사합니다. ㅠㅠ 이것때문에 많이 힘들었는데.. 많은 도움이 되었습니다.
초보프로그래머 / 2015/01/15 14:55:31 / 추천 0
웅파님 저 많이 컸죠?ㅋㅋㅋ
변종원(웅파) / 2015/01/15 15:07:21 / 추천 0
초보프로그래머// 올레~~~ ^^
초보개발자J / 2015/01/21 10:02:49 / 추천 0
웅파님 그런데 affected_row는 수정시에 변경된 값이 없으면 false를 리턴해서 만약 사용자가 그냥 수정만 누르면 실패페이지로 넘어갈 경우가 생깁니다. ㅠㅠ