CI 묻고 답하기

제목 사용자 정의 오류 처리 문의
글쓴이 슈럭 작성시각 2012/06/11 18:32:15
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 15612   RSS
안녕하세요.
CodeIgniter를 이용해서 프로젝트를 시작했습니다.

그런데....문제 발생...
try 
{
    $this->db->set('UserName', $UserName);
    $this->db->set('Locale', $Locale);
    $this->db->set('Date', 'now()', false)

    $oRst = $this->db->insert('Members');
} catch (Exception $e) { 
    echo "에러 발생 사유 : ".$e->getMessage()." \n"; 
}
 위와 같이 오류를 잡아 보려고 했으나...
잡히지 않는군요..


다수의 데이터 입력후 개별로 성공 실패를 반환해주어야 하는데... 안되네요.
검색하다 보니.. 답변이 있어서 따라해봤으나.. 안되더군요..
혹시 해결하신 분이 있다면 ... 방법 좀 알려주세요..
 다음글 CI에서의 Crontab 명령어 사용해서 php 실행하... (3)
 이전글 모든 페이지 접속을 통일적으로 막을 수 있을까요? (3)

댓글

한대승(불의회상) / 2012/06/11 18:45:12 / 추천 0
CI의 액티브레코드는 try를 지원 하지 않습니다. 
저도 이전해 해보려다 좌절 했다는....
슈럭 / 2012/06/12 10:37:20 / 추천 0

인터넷 검색해봐도 방법이 없네요.

슈럭 / 2012/06/12 10:50:23 / 추천 0

답변이라고 하긴 좀 뭐하지만...
CodeIgniter에서 db에 관련된 debug기능을 FLASE로 하여 해결하는 방법이 있긴 하네요...

해결방법:
1)  /application/config/database.php 파일을 열어서
2) db_debug = false로 변경해줍니다. 아래처럼..

$db['default']['db_debug'] = FALSE;


 이제부터는 오류가 발생하면 사용자가 처리해 주면 됩니다.


$res = $this->db->query($sql, array($arrMemberInfo['first_name'],
          $arrMemberInfo['last_name'],
          $arrMemberInfo['email'],
          $arrMemberInfo['password'])
          );

  if(!$res){
   $data["err_msg"] = $this->db->_error_message();    $data["err_num"] = $this->db->_error_number();
   $data["result"] = $res;
  }