Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]Odczytywanie ostatnigo id w bazie
Forum PHP.pl > Forum > Przedszkole
lukash82
Witam. Mam takie trywialne pytanko. Dodaje jakis artykul do bazy danych i zaraz po wykonaniu tego zapytania chce uzyskac jakie id we wczesniejszym zapytaniu uzyskal dany artykul (odpowiednie pole jest auto increment). Probowalem juz czegos takiego
  1. <?php
  2. echo $dodano = mysql_insert_id();
  3. ?>

co ma niby wyciagnac ostatnie id i w innym skrypcie mi to dziala ale w tej sytuacji sie sypie. Chcialem tez odpowiednie nowe zapytanie ulozyc zeby wyciagnac wszystkie id z bazy z LIMIT 1 od konca i wtedy bym dostal ostatnie id jakie zostalo dodane ale rozwiazanie to nie bardzo mi sie podoba. Macie jakis inny pomysl jak to rozwiazac? Pozdrawiam, Łukasz.
nospor
Cytat
co ma niby wyciagnac ostatnie id i w innym skrypcie mi to dziala ale w tej sytuacji sie sypie.
A co ci sie sypie? Bo tak wlasnie sie robi od wiekow.
RaNdaLLHD
Możesz spróbować tak jak pisałeś (wykorzystując LIMIT 1):
  1. <?php
  2. $zapytanie = "SELECT * FROM nazwa_tabeli ORDER BY nazwa_komorki DESC LIMIT 1";
  3. ?>
skowron-line
Cytat(RaNdaLLHD @ 27.08.2007, 12:27:19 ) *
Możesz spróbować tak jak pisałeś (wykorzystując LIMIT 1):
  1. <?php
  2. $zapytanie = "SELECT * FROM nazwa_tabeli ORDER BY nazwa_komorki DESC LIMIT 1";
  3. ?>

Cytat
wyciagnac wszystkie id z bazy z LIMIT 1 od konca i wtedy bym dostal ostatnie id jakie zostalo dodane ale rozwiazanie to nie bardzo mi sie podoba

@RaNdaLLHD kolega chyba sie wypowiedzial co do tej metody

a @lukash82 napisz co ci sie wyswietla albo nie wyswietla, moze przechodzisz do nowego okna bo z tego co pamietam to ta funkcja dziala w OBRĘBIE jednego okna przegladarki i jednej strony (ale moge sie mylic)
drPayton
Cytat
ta funkcja dziala w obrembie jednego okna przegladarki i jednej strony (ale moge sie mylic)

obrębie winksmiley.jpg
Nie skowron, ta funkcja po prostu zwraca ostatnio wprowadzoną do bazy (w danej tabeli) wartość z pola auto_increment.
@lukash82:
1.Czy te pole id jest typu auto_increment?
2.Sprawdź czy dodano do bazy ten wpis.
3.Sprecyzuj, jak napisał nospor: "A co ci sie sypie?"
cornholio666
Tak moża wyciagnac ostatnie id
  1. <?php
  2. $query_string = 'SELECT LAST_INSERT_ID()';
  3. ?>
drPayton
Doczytałem jeszcze, że jeśli pole id jest typu BIGINT, ta funkcja właśnie się sypie. Jeśli więc tak masz, jedynym rozwiązaniem jest to podane przez cornholio666
lukash82
Witam ponownie. Sorki, ze nie odpisalem od razu ale bylem sie odchamic na szybkich wakacjach winksmiley.jpg i dopiero wrocilem. Dzieki za podpowiedzi. Juz teraz wszystko dziala. Oczywiscie blad byl po mojej stronie i funkcja mysql_insert_id dzialala dobrze. Mialem zle poukladane linijki w kodzie i najpierw wykonywalem zapytanie a potem szukalem id:/ w zapytaniu przedostatnim. Znow przedobrzylem, hehe... Pozdrawiam
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.