Obsługa wyjątków PDO

Założenie: Pokażemy, jak poprawnie obsługiwać wyjątki w PDO, aby zapobiec awaryjnemu zakończeniu skryptu w przypadku błędów bazy danych.

Krok po kroku:

  1. Połączenie z bazą danych: Utworzymy połączenie z bazą danych za pomocą PDO. W przypadku błędu połączenia zostanie wyrzucony wyjątek.
  2. 
    try {
        $pdo = new PDO('mysql:host=localhost;dbname=moja_baza', 'użytkownik', 'hasło');
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Ustawienie trybu zgłaszania wyjątków
    } catch(PDOException $e) {
        die("Błąd połączenia z bazą danych: " . $e->getMessage());
    }
    				

    Ten kod próbuje nawiązać połączenie z bazą danych. PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ustawia tryb zgłaszania wyjątków, dzięki czemu błędy połączenia będą zgłaszane jako wyjątki.

  3. Wykonanie zapytania: Spróbujemy wykonać zapytanie SQL. Jeśli wystąpi błąd (np. niepoprawne zapytanie), zostanie wyrzucony wyjątek.
  4. 
    try {
        $stmt = $pdo->query("SELECT * FROM users WHERE id = 1000"); // Zapytanie, które może zwrócić błąd
        $user = $stmt->fetch(PDO::FETCH_ASSOC);
        print_r($user);
    } catch(PDOException $e) {
        echo "Błąd zapytania SQL: " . $e->getMessage();
    }
    				

    Ten kod wykonuje zapytanie SQL. Jeśli zapytanie zwróci błąd (np. brak tabeli `users`), zostanie wyrzucony wyjątek.

  5. Obsługa wyjątków: Blok try...catch przechwytuje wyjątki i pozwala na ich obsługę bez przerywania działania skryptu.
  6. 
    // Kod z kroków 1 i 2 znajduje się tutaj w bloku try...catch
    				

    Blok try...catch jest kluczowy dla obsługi wyjątków. Dzięki niemu możemy przechwycić błędy i odpowiednio na nie zareagować, np. wyświetlić komunikat o błędzie użytkownikowi.

Ten przykład pokazuje podstawy obsługi wyjątków w PDO. Zachęcamy do dalszego zgłębiania tematu, aby nauczyć się bardziej zaawansowanych technik obsługi błędów w aplikacjach PHP.

Dodaj komentarz 0

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