CI 묻고 답하기

제목 codeigniter 트랜잭션 관련 질문이있습니다.
글쓴이 해달봉 작성시각 2014/10/13 11:17:51
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 18389   RSS
안녕하세요
현재 컨트롤러에서 트랜잭션을 처리하고있습니다

ex) 현재 트랜잭션 옵션 begin과 start 모두 해봤구요 , 완벽모드 상태는 아닙니다

            $this->db->trans_start();
                
                $aInsert_array = array(
                        'sEmail' => $sEmail , //뉴스 신청 이메일
                        'dtCreateDate' => date('Y-m-d'), //등록 날짜
                        'sReceiveYN' => 'Y'
                );
                $this->db->trans_begin();
                $result = $this->setdbquery->insert_function('테이블명' , $aInsert_array , false);
                $result = false; 
                if($result == true) {
                    $this->db->trans_complete();
                    $this->db->trans_commit();
                    echo "성공"
                }else {
                    $this->db->trans_rollback();
                    $this->db->close();
                    echo "실패"
                }

result를 임의로 false로 주면 echo "실패" 로 되서 rollback을 시켜야 하는게 맞다고 생각을 하거든요ㅠㅠ
트랜잭션 문서화를 확인해 봤는데도 흠...정확한 원인을 알 수가 없네요
 다음글 xml 파일 생성후에 어떻게 처리해야되나요? (1)
 이전글 codeigniter gamil 관련 질문드립니다. (2)

댓글

들국화 / 2014/10/13 11:22:11 / 추천 0
if($result === true) 로 해보세요.
해달봉 / 2014/10/13 12:11:28 / 추천 0
if($result === true)로 원래 해놓았는데 ,  트랜잭션 처리 테스트 할려고 result = false로 임의로 추가한거에요
false면 rollback되고 db에 insert되면 안되는데...흠 자꾸 들어가네요
들국화 / 2014/10/13 12:14:53 / 추천 0
사용방법이 틀렸네요. 수동조작으로 해 보세요.
http://www.cikorea.net/user_guide_2.1.0/database/transactions.html
메뉴얼 참조 하세요.
헤덥 / 2014/10/13 14:50:26 / 추천 0
모델 안에서 처리 한번 해보세요~ 
쌈닭 / 2014/10/14 11:05:27 / 추천 0
 $this->db->trans_start();
 $this->db->trans_complete();

요것들 삭제해 주시면 되겠네요...