Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 167 Pomógł: 0 Dołączył: 30.04.2004 Skąd: Częstochowa Ostrzeżenie: (0%)
|
Witam
Czy istnieje jakiś prosty sposób na sprawdzenie transakcji za pomocą PHP + MySQL? Załóżmy że w transakcji dodaję do 2 różnych tabel po 1 rekordzie. Po commitowaniu transakcji chciałbym wiedzieć czy transakcja się wykonała i mogę wtedy wyświetlić komunikat "ok" / podjąć dalsze działania czy też wystąpił problem który muszę obsłużyć. Oczywiście wystarczy selectem sprawdzić czy w tabeli dane zostały umieszczone, ale czy nie ma prostszego rozwiązania? Pozdrawiam |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 167 Pomógł: 0 Dołączył: 30.04.2004 Skąd: Częstochowa Ostrzeżenie: (0%)
|
Dzięki. Pytanie w którym miejscu w tym przykładzie powinien znaleźć się commit i czy rollback na pewno jest potrzebny po złapaniu wyjątku jeśli transakcja się nie powiodła, no chyba że w tym przykładzie jest założone sprawdzanie wyjątku po każdej transakcji.
Da radę analogicznie zrobić bez PDO? |
|
|
|
Post
#4
|
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%)
|
Dzięki. Pytanie w którym miejscu w tym przykładzie powinien znaleźć się commit i czy rollback na pewno jest potrzebny po złapaniu wyjątku jeśli transakcja się nie powiodła, (...) 1. Zmieniłem posta wyżej wstawiając commit() w odpowiednim miejscu. 2. Tak. Rollback() na pewno jest w dobrym miejscu. A przykład dotyczy operacji zamkniętych w jedną transakcję. Ten post edytował mike 18.11.2010, 14:04:18 |
|
|
|
Post
#5
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
Da radę analogicznie zrobić bez PDO? Tyle lat na forum i nie jesteś w stanie tego samodzielnie znaleźć? Odpowiednie pytanie do Google (php mysql transaction) i masz odpowiedź, np.: http://www.devarticles.com/c/a/MySQL/Using...QL-4.0-and-PHP/ |
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 02:25 |