트랜잭션은 모두 성공하거나 모두 롤백되는 데이터베이스 작업의 원자 단위입니다. PHP는 데이터베이스 작업의 보안과 일관성을 보장할 수 있는 트랜잭션 작업을 지원합니다.
트랜잭션은 모든 작업이 성공적으로 실행되거나 모두 실패하고 데이터 무결성을 보장하기 위해 롤백되는 완전한 작업 단위입니다.
PHP는 다음을 포함하여 ACID 트랜잭션을 지원합니다.
mysqli_begin_transaction() 함수를 사용하여 트랜잭션을 시작합니다:
<?php
$conn = new mysqli("host", "username", "password", "database");
$conn-> start_transaction();
?>트랜잭션의 모든 작업이 완료되면 mysqli_commit()을 사용하여 트랜잭션을 커밋합니다.
<?php $conn-> 저지르다(); ?>
트랜잭션 작업이 실패하면 mysqli_rollback()을 사용하여 트랜잭션을 롤백할 수 있습니다.
<?php $conn-> 롤백(); ?>
다음 예에서는 PHP에서 트랜잭션을 사용하여 작업하는 방법을 보여줍니다.
<?php
$conn = new mysqli("host", "username", "password", "database");
$conn-> start_transaction();
$sql = "사용자 설정 잔액 업데이트 = 잔액 + 100 WHERE id = 1";
$conn->쿼리($sql);
$sql = "계정 업데이트 SET 잔액 = 잔액 - 100 WHERE id = 2";
$conn->쿼리($sql);
$conn->커밋();
?>이 예에서는 두 번째 업데이트 문이 실패하면 트랜잭션이 롤백되고 두 작업 모두 데이터베이스에 적용되지 않으므로 데이터 무결성과 일관성이 보장됩니다.