현재 위치: > 최신 기사 목록> PDO 트랜잭션 관리를 통해 데이터 일관성을 달성하는 방법 MySQL 데이터베이스

PDO 트랜잭션 관리를 통해 데이터 일관성을 달성하는 방법 MySQL 데이터베이스

M66 2025-06-20

PDO 트랜잭션 관리를 통해 데이터 일관성을 달성하는 방법 MySQL 데이터베이스

데이터베이스 작업은 웹 애플리케이션을 개발할 때 피할 수없는 작업입니다. 데이터 무결성과 일관성을 보장하기 위해 트랜잭션 관리가 특히 중요합니다. 이 기사는 PDO (PHP Data Objects) 확장을 사용하여 MySQL 데이터베이스의 트랜잭션을 관리하고 해당 코드 예제를 제공하는 방법을 소개합니다.

PDO는 MySQL, PostgreSQL, SQLite 등을 포함하여 여러 유형의 데이터베이스에 액세스 할 수있는 통합 인터페이스를 제공하는 가벼운 PHP 확장자입니다.이 기사는 PDO를 사용하여 MySQL 데이터베이스의 트랜잭션을 관리하는 방법에 중점을 둡니다.

MySQL 데이터베이스에 연결하십시오

데이터베이스 트랜잭션 관리에 PDO를 사용하기 전에 먼저 MySQL 데이터베이스에 연결해야합니다. 데이터베이스에 연결하기위한 기본 코드는 다음과 같습니다.

<?php
// 데이터베이스 연결 매개 변수
$dsn = "mysql:host=localhost;dbname=test";
$username = "root";
$password = "";

try {
    // 데이터베이스 연결을 설정하십시오
    $pdo = new PDO($dsn, $username, $password);
    $pdo-> setAttribute (pdo :: att_errmode, pdo :: errmode_exception);
} catch (pdoexception $ e) {
    Echo "데이터베이스 연결 실패 :". $ e-> getMessage ();
    출구();
}
?>

PDO 트랜잭션을 사용하여 데이터베이스 작업을 관리합니다

다음으로 PDO 트랜잭션을 통해 일련의 데이터베이스 작업을 수행하여 성공적이거나 롤백되도록하는 방법을 설명합니다.

PDO 트랜잭션을 사용하는 첫 번째 단계는 PDO 객체의 beginTransaction () 메소드를 호출하여 트랜잭션을 시작하는 것입니다. 트랜잭션에서 데이터베이스 작업을 수행 할 때 모든 실패로 인해 롤백이 발생하며 모든 작업이 성공적으로 실행되면 거래가 커밋됩니다.

트랜잭션 샘플 코드 :

<?php
// 거래를 시작하십시오
$pdo->begintransaction ();

노력하다 {
    // 데이터베이스 작업 수행 1
    $ result1 = $ pdo-> exec ( "사용자에 삽입 (사용자 이름, 암호) 값 ( &#39;user1&#39;, &#39;password1&#39;)");
    
    // 데이터베이스 작업 수행 2
    $ result2 = $ pdo-> exec ( "사용자에 삽입 (사용자 이름, 암호) 값 ( &#39;user2&#39;, &#39;password2&#39;)");
    
    // 데이터베이스 작업 수행 3
    $ result3 = $ pdo-> exec ( "Update Users set password = &#39;newPassword&#39;where username = &#39;user1&#39;");

    // commit transaction $ pdo-> commit ();

    Echo "거래 실행이 성공적이었다!";
} catch (pdoexception $ e) {
    // 롤백 트랜잭션 $ pdo-> rollback ();
    Echo "거래 실행 실패 :". $ e-> getMessage ();
}
?>

위의 예에서는 먼저 begintransaction () 메소드를 사용하여 트랜잭션을 시작한 다음 여러 데이터베이스 작업을 수행합니다. 이러한 작업이 실패하면 Rollback () 메소드를 사용하여 트랜잭션을 롤백하여 데이터의 일관성을 보장합니다. 모든 작업이 성공하면 Commit ()에게 전화하여 거래를 커밋합니다.

데이터베이스 작업을 수행하는 방법

PDO에서는 exec () 메소드를 사용하여 SQL 문을 실행하는데, 이는 일반적으로 작업을 삽입, 업데이트 및 삭제하는 데 사용됩니다. 이 메소드는 영향을받는 행의 수를 반환하거나 실행이 실패하면 False를 반환합니다.

exec () 메소드 외에도 PDO는 Query () 메소드를 제공하여 쿼리 문을 실행하여 pdostatement 객체를 반환합니다. 또한, 준비 () 메소드는 SQL 문을 준비하고 재사용 가능한 pdostatement 객체를 반환하는 데 사용될 수 있으며, bindparam ()bindValue () 메소드를 사용하여 파라미터를 바인딩 할 수 있습니다.

요약

트랜잭션 관리는 특히 여러 데이터베이스 작업을 처리 할 때 데이터 무결성 및 일관성을 보장하는 핵심 기술입니다. PDO의 트랜잭션 관리 기능을 사용하면 원자력과 일관성을 보장하면서 일련의 데이터베이스 작업을 쉽게 수행 할 수 있습니다. 이 기사가 PDO 트랜잭션을 통해 MySQL 데이터베이스를 관리하는 방법을 더 잘 이해할 수 있기를 바랍니다.