![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 500 Pomógł: 1 Dołączył: 29.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam, Przy rejestracji użytkownika muszę wprowadzić kilka rekordów do oddzielnych tabel.
Najpierw do tabeli użytkowników, potem do tabeli z kodem aktywacyjnym a na końcu do jeszcze jednej. Do tych dwóch ostatnich tabel potrzebuję id właśnie wprowadzonego użytkownika. To nie będzie problemem (pdo->lastInstertId). Tylko teraz chciałbym mieć pewność, że jeżeli nie wykona się pierwsza zapytania to nie wykona się i drugi i trzecia, a jeżeli np. nie wykona się 3 to nie wykona się i pierwsze i drugie. Da radę takie coś zrobić? Czytałem coś żeby użyć do tego transakcji, ale jak wtedy pobrać id użytkownika wprowadzonego właśnie do bazy? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Przykład z manuala
Innymi słowy, możesz wykonać kilka zapytań do bazy w trakcie jednej transakcji |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Możesz pobrać ID użytkownika nawet wewnątrz transakcji. Jeżeli używasz MySQL, wybierz typ tabel InnoDB, bo MyISAM nie obsługuje transakcji. Wygląda to tak:
Ten post edytował WebCM 2.08.2012, 12:29:06 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 04:04 |