반응형
코드이그나이터(CI) 에서의 트랜잭션 사용
1. mysql에서 InnoDB 또는 BDB 테이블 유형을 사용한다.
2. 트랜잭션을 사용한 쿼리 실행하려면 아래 함수를 사용한다.
$this->db->transStart()
$this->db->transComplete()
<?php
$this->db->transStart();
// $this->db->transStart(true); 테스트 모드. 유효한 결과라도 쿼리가 록백된다.
$this->db->query('쿼리1');
$this->db->query('쿼리2');
$this->db->query('쿼리3');
$this->db->transComplete();
if ($this->db->transStatus() === false) {
// 에러 발생 혹은 로그 남기기
}
3. 수동 트랜잭션
<?php
$this->db->transBegin();
$this->db->query('쿼리1');
$this->db->query('쿼리2');
$this->db->query('쿼리3');
if ($this->db->transStatus() === false) {
$this->db->transRollback();
} else {
$this->db->transCommit();
}
728x90
'Programming > PHP' 카테고리의 다른 글
[코드이그나이터] 설치시 require ext-intl * -> it is missing from your system. Install or enable PHP's intl extension 오류 (0) | 2022.11.14 |
---|---|
[코드이그나이터] 4. CI 모델(Model) 사용해보기 (0) | 2022.11.10 |
우분투 + Apache2 + PHP + Mariadb + CIBOARD 설치 (0) | 2022.10.25 |
[코드이그나이터] 2. codeigniter shield 프레임워크 설치하기 (0) | 2022.10.24 |
2021년 PHP 개발자 생태계 (0) | 2022.10.24 |
댓글