Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Problem z transakcjami
slawek3422
post
Post #1





Grupa: Zarejestrowani
Postów: 142
Pomógł: 7
Dołączył: 3.08.2007
Skąd: śląsk

Ostrzeżenie: (0%)
-----


Witam.
Mam pewien problem z transakcjami w MySQL. Mam skrypt, w którym robię zapis do bazy. Zapis ten odbywa się w pętli. Dane zapisują się do różnych tabel. Nie wiem jak zrobić żeby transakcja działała dla wywołania skryptu. Działa mi dla pojedynczej iteracji i jak napotka na problem np w piątej iteracji to te zmiany mi anuluje ale poprzednich nie wycofuje no i robi pozostałe (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
slawek3422
post
Post #2





Grupa: Zarejestrowani
Postów: 142
Pomógł: 7
Dołączył: 3.08.2007
Skąd: śląsk

Ostrzeżenie: (0%)
-----


transakcję rozpoczynam przed pętlą, dla każdego zapytania daję:
  1. <?php
  2. if(mysql_errno()) $error = True;
  3. ?>


po zamknięciu pętli (a próbowałem też przed zamknięciem) daję
  1. <?php
  2. if($error){
  3.        @mysql_query("ROLLBACK");
  4.        echo '<div class="err_body">Modyfikacja bazy zakończona niepowodzeniem.</div>';
  5.        exit;
  6.    } else {
  7.        @mysql_query("COMMIT");
  8.       header("Location: index.php");
  9.    }
  10. ?>


i niestety powiedzmy że zapisuję 49 rekordów i celowo w formularzu robię błąd, wtedy zapisuje się 48 rekordów a moim celem jest 49 albo nic
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 15:19