Wyjątki a transakcje bazodanowe

Założenie: Pokażemy, jak obsługiwać wyjątki podczas pracy z bazą danych w PHP, używając transakcji, aby zapewnić spójność danych nawet w przypadku błędów.

Krok po kroku:

  1. Połączenie z bazą danych: Ustanawiamy połączenie z bazą danych.
    
    setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Ustawiamy tryb zgłaszania wyjątków
    ?>
    
  2. Rozpoczęcie transakcji: Zaczynam transakcję, aby zagwarantować atomowość operacji.
    
    beginTransaction();
    ?>
    
  3. Wykonanie zapytań: Próbujemy wykonać kilka zapytań SQL. Jeśli jedno z nich zawiedzie, cała transakcja zostanie cofnięta.
    
    exec("INSERT INTO users (name) VALUES ('Jan')");
        $pdo->exec("INSERT INTO users (name) VALUES ('Anna')"); // To zapytanie może spowodować błąd, np. naruszenie klucza unikalnego
        $pdo->commit(); // Zatwierdzamy transakcję, jeśli wszystko przebiegło pomyślnie
        echo "Transakcja zakończona sukcesem!";
    } catch (PDOException $e) {
        $pdo->rollBack(); // Cofamy transakcję w przypadku błędu
        echo "Błąd: " . $e->getMessage();
    }
    ?>
    
  4. Obsługa wyjątków: Blok `try…catch` przechwytuje potencjalne wyjątki `PDOException` i wykonuje `rollBack()`, aby cofnąć zmiany w bazie danych.

Ten przykład pokazuje podstawy obsługi wyjątków w kontekście transakcji bazodanowych w PHP. Zachęcamy do dalszego zgłębiania tematu, aby lepiej zrozumieć mechanizmy zapewniania spójności danych w aplikacjach.

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *