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(
)
.