mysql_insert_id

mysql_insert_id -- Liefert die ID einer vorherigen INSERT-Operation

Beschreibung

int mysql_insert_id ( [resource Verbindungs-Kennung])

mysql_insert_id( ) liefert die ID , die bei der letzten INSERT-Operation für ein Feld vom Typ AUTO_INCREMENT vergeben wurde . Wenn die Verbindungs-Kennung nicht angegeben wird , wird die zuletzt geöffnete Verbindung angenommen .

mysql_insert_id( ) liefert 0 , wenn die vorhergehende Abfrage keinen AUTO_INCREMENT Wert erzeugt hat . Falls Sie den Wert zur späteren Verwendung speichern möchten , stellen Sie sicher , dass Sie mysql_insert_id( ) direkt nach der Abfrage aufrufen , die einen Wert erzeugt hat .

Anmerkung : Der Wert der MySQL SQL Funktion LAST_INSERT_ID( ) liefert immer den zuletzt erzeugten AUTO_INCREMENT Wert . Dieser wird zwischen Abfragen nicht zurückgesetzt .

Warnung

mysql_insert_id( ) konvertiert den Typ der Rückgabe der nativen MySQL C API Funktion mysql_insert_id( ) in den Typ long (als int in PHP bezeichnet ) . Falls Ihre AUTO_INCREMENT Spalte vom Typ BIGINT ist , ist der Wert den mysql_insert_id( ) Falls Ihre AUTO_INCREMENT Spalte vom Typ BIGINT ist , ist der Wert den mysql_insert_id( ) liefert , nicht korrekt . Verwenden Sie in diesem Fall stattdessen die MySQL interne SQL Funktion LAST_INSERT_ID( ) in einer SQL-Abfrage .

Beispiel 1 . mysql_insert_id Beispiel

 
?php

 
mysql_connect(

 
"localhost"

 
,

 
"mysql_user"

 
,

 
"mysql_password"

 
)

 
or

 
die("Keine

 
Verbindung

 
möglich

 
:

 
"

 
.

 
mysql_error())

 
;

 
mysql_select_db("mydb")

 
;

 
mysql_query("INSERT

 
INTO

 
mytable

 
(product

 
)

 
values

 
('kossu')")

 
;

 
printf

 
("Der

 
letzte

 
eingefügte

 
Datensatz

 
hat

 
die

 
ID

 
%d\n"

 
,

 
mysql_insert_id())

 
;

 
?



Siehe auch : mysql_query( ) .