Podręcznik PHP
Poprzedni |  | Następny

# mysql_insert_id

(PHP 3, PHP 4 )

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