PHP MySQL 트랜잭션 예제
PHP 및 MySQL의 트랜잭션을 사용하면 일련의 쿼리를 단일 작업 단위로 그룹화할 수 있습니다. 즉, 쿼리 중 하나가 실패하면 트랜잭션으로 인한 모든 변경 사항이 롤백됩니다.
트랜잭션 사용 방법
PHP에서 트랜잭션을 사용하려면 MySQL의 경우 다음을 수행해야 합니다.
예
다음은 PHP 및 MySQL에서 트랜잭션을 사용하는 방법에 대한 간단한 예입니다.
mysql_query("SET AUTOCOMMIT=0"); mysql_query("START TRANSACTION"); $a1 = mysql_query("INSERT INTO rarara (l_id) VALUES('1')"); $a2 = mysql_query("INSERT INTO rarara (l_id) VALUES('2')"); if ($a1 and $a2) { mysql_query("COMMIT"); } else { mysql_query("ROLLBACK"); }
이 예에서는 $a1과 $a2가 모두 성공한 경우에만 COMMIT 문이 실행됩니다. 쿼리 중 하나라도 실패하면 ROLLBACK 문이 실행됩니다.
PDO와 트랜잭션 사용
PDO 클래스는 보다 현대적이고 객체 지향적인 작업 방식을 제공합니다. MySQL 트랜잭션. PDO에서 트랜잭션을 사용하려면 다음을 수행해야 합니다.
예
다음은 PDO에서 트랜잭션을 사용하는 방법의 예입니다.
try { $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->beginTransaction(); $pdo->exec("INSERT INTO rarara (l_id) VALUES('1')"); $pdo->exec("INSERT INTO rarara (l_id) VALUES('2')"); $pdo->commit(); } catch (\PDOException $e) { $pdo->rollback(); throw $e; }
이 예에서는 두 쿼리가 모두 성공한 경우에만 commit() 메서드가 호출됩니다. 쿼리 중 하나라도 실패하면 Rollback() 메서드가 호출되고 예외가 발생합니다.
위 내용은 PHP에서 MySQL 트랜잭션을 효과적으로 관리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!