개발

[php] mysql 트렌젝션

지승준 2014. 12. 11. 16:32
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?
 
// 트랜잭션 성공 여부
$success = true;
 
// 트랙잭션을 시작한다.
$result = @mysql_query("SET AUTOCOMMIT=0"$conn);
$result = @mysql_query("BEGIN"$conn);
 
// 첫번째 작업 수행
$insertquery = "INSERT INTO table (c1, c2) values (\'aa\', \'bb\')";
$result = @mysql_query($insertquery$conn);
if(!$result || @mysql_affected_row($result) == 0$success = false;
 
// 두번째 작업 수행
$insertquery = "INSERT INTO table2 (c3, c4) values (\'cc\', \'dd\')";
$result = @mysql_query($insertquery$conn);
if(!$result || @mysql_affected_row($result) == 0$success = false;
 
// 작업 성공/실패 여부에 따라 COMMIT/ROLLBACK 처리한다.
if(!$success) {
    $result = @mysql_query("ROLLBACK"$conn);
    echo ("롤백되었습니다.");
}else {
    $result = @mysql_query("COMMIT"$conn);
    echo ("입력되었습니다.");
}
 
?>
cs