개발 Q&A

제목 문의 드립니다.
글쓴이 까툴e 작성시각 2013/11/13 11:34:03
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 14875   RSS
안녕하세요

CodeIgniter    : 2.1.4
MariaDB        : 5.5.33a-1
apache        : 2.2.15-29.el6.centos
php        : 5.3.3-23.el6_4

모든 셋팅은 yum 으로 셋팅 되어 있습니다.


        $this->db->trans_start();

        $sSql = 'SELECT COUNT(*) AS nCnt FROM hrSupervisor WHERE uid = ?';
        $oQuery = $this->db->query($sSql, array($nUid));
        if(0 < $oQuery->num_rows()) {
            $aRow = $oQuery->row_array();

            if(1 == $aRow['nCnt']) {
                $sSql = 'UPDATE hrSupervisor SET
                            upd_date = NOW()
                            , name = ?
                        WHERE uid = ?';
                $oQuery = $this->db->query($sSql, array($sSupervisorFullName, $nUid));

                if(false === $this->db->affected_rows() ) {
                    return false;
                }

                $sSql = 'INSERT INTO hrSupervisor_history (reg_date, status, name, fkSupervisor) SELECT NOW(), status, name, uid FROM hrSupervisor WHERE uid = ?';
                $oQuery = $this->db->query($sSql, array($nUid));

                if(false === $this->db->affected_rows() ) {
                    return false;
                }
            }
            else {
                return false;
            }
        } else {
            $oQuery->free_result();

            return false;
        }

        $this->db->trans_complete();


해당 테이블에 수정, 삭제, delete 때마다 위와 같이 history 테이블에 내역을 남기도록 작업을 하고 있습니다.

위와 같이 사용중인데... update 정상적으로 잘 되고 history 테이블에 insert 하는데 row 가 2개씩 들어갑니다.

혹시 원인을 아시는 분이 계시다면은 부탁좀 드립니다.

 다음글 택배 조회 기능을 구현했는데 싸이트 주소에 대한 질문이... (2)
 이전글 CI로 만든 기존의 홈페이지 코드를 분석하려고 하는데.... (3)

댓글

한대승(불의회상) / 2013/11/13 14:16:20 / 추천 0
프로파일러를 켜서 확인해 보세요.

$this->output->enable_profiler();

까툴e / 2013/11/13 16:57:43 / 추천 0
enable_profiler(); 라는게 있었네요...몰랐던 부분인데 알려주셔서 감사합니다.

그런데 확인해 보니까 쿼리가 2번 돌지는 않네요... 무엇이 문제인지..ㅜㅜ;;