Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak poznać wartość autoincrementowanego id dodawanego rekordu do bazy.
Forum PHP.pl > Forum > Bazy danych
bartoland
Mam taki problem.

Dodaję do bazy korzystając z pdo rekord.
Wtrakcie dodawania id rekorodu jest autoincrementowane.
Czy jest możliwość aby poznać to id nie korzystając z kolejnego zapytania.

Chodzi o to że w następnym zapytaniu będe potrzebował to id i gdyby udało mi sie przy tym pierwszym zapytaniu wyciągnąć w jakiś sposób z tego zapytania te id nie musiałbym tworzyć kolejnego zapytania tylko po to by poznać to id.

Teraz muszę zrboić tak:
1. INSERT INTO `tabela` (`nazwa`) VALUES ('jakaś wartosc') // Dodanie do tablicy rekordu - id zostanie autoincrementowane
2. SELECT max(`id`) FROM `tabela` // znalezienie id rekordu który przed momętem dodałem
3. ... //dodanie kolejnego rekordu do innej tabeli z wykorzystaniem pobranego wcześniej id

Chciałbym zrezygnować z drugiego polecenia. Czy da się te dwa pierwsze polecenia jakoś razem połączyć w jedno.
Z góry dzięki za konkretną odpowiedź.

everth
Manual
devnul
@everth: masz napisane że korzysta z PDO a nigdzie nie napisał że korzysta akurat z mysql, ale z manualem masz rację tylko nie do tej funkcji podlinkowałeś co trzeba

PDO::lastInsertId
bartoland
Dzięki śliczne za odpowiedź.

Rzeczywiście wystarczyło zajrzeć do manuala. Nie jestem zbyt doświadczony w temacie baz danych i może dlatego cały czas próbowałem skonstruować jedno zapytanie by dodało i jednocześnie zwróciło mi to id. A rozwiązanie było takie proste smile.gif. Nie sądziłem, że przyjdzie mi tu z pomocą PDO. A już na pewno nie sądziłem, że zadam pytanie na forum, na które odpowiedź dostanę linka do manuala. Wybaczcie za mój laicyzm.

Jeszcze raz dzięki.
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.