![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 3 Dołączył: 27.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Próbuję zrobić sobie prostą klasę dziedziczącą po mysqli, która do polecenia "query" będzie przyjmowała tablicę i wykonywała albo ją cała, albo rollback. I tu pojawia się problem. Oto mój kod:
Problem w tym, że jeśli dam kilka zapytań, to rollback nie wykonuje się (mimo, że dochodzi do tego miejsca w kodzie). Przykładowo, przekażę tablicę z 10 delete'ami i w 5 będzie błąd, to 4 pierwsze nie przywrócą się, po prostu są skasowane i tyle. Gdzie robię błąd? Ten post edytował MatKus 13.11.2012, 15:21:32 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) Skoro robisz ROLLBACK to wypadałoby wpierw zrobić BEGIN, czyli rozpocząć transakcję.
2) No i najważniejsze - czy tu w ogóle działasz na tabelach typu INNODB? ps: to nie ma związku z obiektówką. Przenosze -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 3 Dołączył: 27.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Sorry za zły dział.
@1) jest autocommit(false) @2) i tu jest właśnie pies pogrzebany. Tego nie doczytałem w żadnym manualu. Dzięki. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
ad1) Ja mówiłem o rozpoczynaniu a nie o kończeniu.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 03:54 |