PHP mysqli 트랜잭션 사용법

0 투표

PHP 에서 mysqli 사용시 트랜잭션 예제입니다.

$__mysqli = new mysqli($__dbserver, $__dbuser, $__dbpasswd, $__dbname);

try {
   $__mysqli->begin_transaction(MYSQLI_TRANS_START_READ_WRITE);

   $sql = "insert test into (name) value (?)";

   $stmt = $__mysqli->stmt_init();
   $stmt = $__mysqli->prepare($sql);
   $stmt->bind_param("s", $name);
   $stmt->execute();

   $__mysqli->commit();
} catch (Exception $e) {
   $__mysqli->rollback();
}

$_mysqli 를 객체 형식으로 사용하면 위와 같이 $_mysqli->begin_transaction() 형식으로 사용하면 되며,

객체 형식이 아닐 경우는 mysqli_begin_transaction() 형식의 함수들을 사용하면 됩니다.

참고로 rename 등의 예전 함수들은 함수내에서 Exception 을 발생하지 않기 때문에

if (rename($src, $dest) == false) {
   throw new Exception();
}

위와 같이 함수의 결과를 체크해서 Exception 을 강제로 발생시켜야 합니다.

참고 링크: http://php.net/manual/kr/mysqli.begin-transaction.php

당신의 답변

보여지는 당신의 이름 (옵션):
개인정보 보호: 이메일 주소는 이 알림을 발송하기 위해 사용됩니다.
안티-스팸 확인:
앞으로 이 검증을 피하려면,로그인 혹은 가입 하시기바랍니다.
구로역 맛집 시흥동 맛집
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
add
...