(PHP 4, PHP 5)
mysql_insert_id — Podaje numer ID wygenerowany podczas ostatniej operacji INSERT
$
identyfikator_połączenia
] )
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ść.
Informacja:
Funkcja MySQL LAST_INSERT_ID() zawsze zawiera ostatnio wygenerowane ID, a zwracana wartośc nie jest czyszczona pomiędzy kolejnymi zapytaniami.
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().