![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 248 Pomógł: 38 Dołączył: 29.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
zaczynam uczyć się pisać obiektowo i znalazłem taką o to klasę obsługi bazy danych typu InnoDB http://www.php.rk.edu.pl/w/p/rozszerzenie-mysqli/. Jak widać, potwierdzenie operacji ('commit') użyte jest dopiero w destruktorze. Czy to jest dobre rozwiązanie? Po za tym po każdej nieudanej operacji(query(), query_select()) zmienna $this->error przybiera wartość true, co nie pozwala już na prace z tym obiektem. Nie lepiej by było w danej metodzie np. query() cofnąć za pomocą 'rollback' ostatnią operacje i ustawić spowrotem $this->error na false, żeby móc dalej pracować na tym obiekcie? Być może nie za bardzo rozumiem jak to ma działać ![]() ![]() Ten post edytował kaem 18.08.2008, 13:45:30 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 105 Pomógł: 3 Dołączył: 26.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ta tablica jest jakaś 'denna', lepiej używać samego rozszerzenia mysqli. Dla nowicjuszy (czyli też dla mnie) wyrzucanie błędów jest nie potrzebne ;f.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Transakcje obsługują tabele INNODB, a na MyISAM transakcji nie ma. Jeżeli tworzysz coś więcej niż prosty skrypt to powinieneś obsługiwać transakcje po "swojemu", tj. tam gdzie trzeba.
Dla nowicjuszy (czyli też dla mnie) wyrzucanie błędów jest nie potrzebne ;f. I się później dziwią dlaczego coś nie działa, albo "wariuje" -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 248 Pomógł: 38 Dołączył: 29.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ok thx, poczytam jeszcze trochę o innodb i transakcjach i spróbuję napisać bardziej rozbudowaną i praktyczną klasę. Jak powstanie coś konkretnego to może wrzucę na forum do oceny
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 11:43 |