Podręcznik PHP
Poprzedni
Następny
mysql_insert_id
Opis
mysql_insert_id() zwraca ID wygenerowane dla pola z własnością AUTO_INCREMENT.
Funkcja zwróci ID wygenerowane automatycznie przez ostatnią operację INSERT używającą podanego identyfikatora_połączenia.
Jeżeli identyfikator_połączenia nie został podany, wykorzystywane jest ostatnio otwarte połączenie.
mysql_insert_id() zwróci 0 jeśli ostatnie zapytanie nie generowało wartości AUTO_INCREMENT.
Jeśli chcesz przechować zwrócony przez tę funkcję wynik, upewnij się, że wywołujesz ją zaraz po zapytaniu generującym nową wartość.
Notatka:
Funkcja MySQL LAST_INSERT_ID() zawsze zawiera ostatnio wygenerowane ID, a zwracana wartośc nie jest czyszczona pomiędzy kolejnymi zapytaniami.
Ostrzeżenie
mysql_insert_id() konwertuje typ wartości otrzymanej od natywnej funkcji MySQL C API mysql_insert_id() na typ long (czyli int w PHP).
Jeśli kolumna AUTO_INCREMENT jest typu BIGINT, wartość zwracana przez mysql_insert_id() będzie niepoprawna.
Należy w zapytaniu SQL użyć wewnętrznej funkcji MySQL LAST_INSERT_ID().
Przykład 1.
Przykład użycia mysql_insert_id
?php mysql_connect( 'localhost', 'uzytkownik', 'haslo') or die('Nie można się połączyć'); mysql_select_db('baza'); mysql_query("INSERT INTO mytable (product) values ('kossu')"); printf ("Ostatnio dodany rekord ma id %d\n", mysql_insert_id());?
Patrz także: mysql_query().
Poprzedni
Spis treści
Następny
Początek rozdziału