![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 137 Pomógł: 2 Dołączył: 2.07.2007 Skąd: Ostrzeszów Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Uczę się transakcji i mam taki przykład:
I niestety za każdym razem przechodzi 5 insertów ... dlaczego skoro po 3 insercie mam rollback ? Widzę, że czegoś tutaj nie łapie. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Wywołanie metody rollback() nie zatrzyma wykonywania kodu PHP, Ty sam tego nie robisz, więc nie ma powodu dla którego dalsze zapytania miałby się nie wykonać. Tutaj mógłbyś spróbować skorzystać z czegoś takiego:
W przypadku pojawienia się błędu (wyjątku) przerwiesz wykonywania bloku try i wskoczysz do bloku catch, który cofnie transakcję. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 137 Pomógł: 2 Dołączył: 2.07.2007 Skąd: Ostrzeszów Ostrzeżenie: (0%) ![]() ![]() |
Dalej jest coś nie tak:
I przy linku: http://localhost/php/index.php?liczba=12 wyskoczy wyjątek: Wpisano niedozwoloną liczbę ! ale przejdą dwa pierwsze inserty tak jakby nie działał rollBack() ... |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 60 Dołączył: 25.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
a tabela jest InnoDB?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 137 Pomógł: 2 Dołączył: 2.07.2007 Skąd: Ostrzeszów Ostrzeżenie: (0%) ![]() ![]() |
Tabela jest InnoDB, ale napisałem skrypt jeszcze raz i działa nie wiem co było wcześniej nie tak ...
dzięki za pomoc |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 10:49 |