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




Poczytałem to co w linku podałeś i szczerze mówiąc, nie wiem dlaczego tak się dzieje. A sprawdzałeś czy działa stara metoda?

Cytat
The old way of doing transactions required you to use

$conn->BeginTrans();
$ok = $conn->Execute($sql);
if ($ok) $ok = $conn->Execute($sql2);
if (!$ok) $conn->RollbackTrans();
else $conn->CommitTrans();


Możliwe, że jest jakiś babol w tej bibliotece.
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: 14.10.2025 - 16:34