Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Transakcje w ADODB
Kamil J.
post
Post #1





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 29.12.2005
Skąd: Łódź

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


Próbuję zrozumieć jak działają transakcję. Używam adodb i wg. manuala http://phplens.com/adodb/tutorial.smart.transactions.html próbuje to przetestować, lecz nie działa.


  1. <?php
  2. $db->StartTrans();
  3. $db->Execute("update tabela se p1 = 'ver zmieniona' where id = 1;");
  4. $db->Execute("update tabela set p2 = 'ver zmieniona2' where id = 1;");
  5. $db->CompleteTrans();
  6. ?>


Tutaj mam 2 przykładowe zapytania, 1 zawiera błąd, 2 jest dobre.
Ja to rozumiem tak: jeśli jakiegoś zapytania nie może wykonać to nie powinien wykonywać innych zapytań, a w tym przypdaku niestety to nie działa i 2 zap. jest wykonywane.

Czy coś źle rozumiem. Z góry dziękuje za odpowiedź.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




W Transakcjach chodzi o to, że jeśli jakieś zapytanie jest niepoprawne, wówczas wszystkie zamiany wprowadzone przez inne zapytania zostaną cofnięte. Ale by to zadziałało musisz użyć funkcji rollback. Jesli wszystkie zapytania zostały poprawnie wykonane, wówczas stosuje się funkcje commit. Po wykonaniu commit nie można cofnąć zmian, jakie miały miejsce podczas wykonywania transakcji.
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: 10.10.2025 - 21:48