Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Jak sprawdzić transakcje ?
Forum PHP.pl > Forum > Przedszkole
kkuubbaa88
witam

w jaki sposób można sprawdzić czy dana transakcja została pomyślnie dodana ?
nospor
no jesli
mysql_query('BEGIN') zwroci ci false to znaczy ze sie nie dodala/rozpoczęła

A może pytasz o coś innego? Sprecyzuj może bardziej
kkuubbaa88
rozpoczynam transackje, nastepnie mam z 10 insertow i pod koniec mam commit. probowalem w standardowy sposob:
  1. if (!$wynik = mysql_query("COMMIT")){
  2. echo "komunikat";
  3. }

ale cos chyba nie działa poprawnie, dlatego poszukuje sposobu na potwierdzenie poprawnie wykonanej transakcji.
nospor
a czymże objawia się to "ale cos chyba nie działa poprawnie," ?
kkuubbaa88
NetBeans czepiał się składni co mnie też to troche dziwiło, ale teraz juz jest okej. widocznie wcześniej miałem malutki błąd w pisowni.
nospor
Czyli nie chodziło nawet o jakis błąd wykonania skryptu a o błąd jaki zgłaszał ci edytor? Na przyszłość, ty weź od razu takie rzeczy zaznaczaj...

Temat: Jak poprawnie zada pytanie
kkuubbaa88
musze odkopać ten temat, ponieważ sprawdzanie transakcji jak się okazało nie działa poprawnie.

zapytania wyglądają:
  1. $zapytanie = "";
  2. if (!$wynik = mysql_query($zapytanie)){
  3. mysql_query("ROLLBACK");
  4. }

mam pod koniec:
  1. if (!$wynik = mysql_query("COMMIT")){
  2. echo "Transkacja nie została zakończona";
  3. }


czy dodawane są rekordy czy też nie są zawsze wyskakuje poprawne zakończenie transakcji... dlaczego? jak to powinno wyglądać, aby poprawnie działalo ?
Zyx
A czy wybrany przez Ciebie typ tabel obsługuje transakcje? Ponadto mam nadzieję, że wiesz, że skoro wykonałeś ROLLBACK, to fajnie byłoby już nie wykonywać także dalszego kodu, wliczając w to COMMIT, który w takim scenariuszu przeszedłby w tryb automatycznego zatwierdzania.

PS. Dlaczego wciąż korzystasz z archaicznych funkcji mysql_xxx(), kiedy jest PDO?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.