Podręcznik PHP
Poprzedni |  | Następny

# mysql_insert_id

(PHP 3, PHP 4, PHP 5)

mysql_insert_id -- Podaje numer ID wygenerowany podczas ostatniej operacji INSERT

## Opis

int mysql_insert_id ( [resource 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ść.

> 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
mysql_info | Początek rozdziału | mysql_list_dbs