Bei SQL-Befehl Insert ID zurückgeben
ralf
- php
0 lindicz0 Sascha Knappe
Hallo,
mein PHP Script fügt in eine Tabelle Userdaten ein, welche in einem Formular eingegeben wurde. Dabei wird eine ID automatisch vergeben. Im Eingabeformular werden noch andere Daten eingegeben welche in eine andere Tabelle geschrieben werden sollen, verknüpft über die ID.
Wenn ich nun aber die User Daten gespeichert habe, brauche ich ja die User_id um diese in die andere Tabelle einfügen zu können. Kann ich mit dem INSERT Befehl die angelegte ID zurückgeben? Oder gibt es eine andere Möglichkeit?
Danke und Gruß
Ralf
hallo!
Wenn ich nun aber die User Daten gespeichert habe, brauche ich ja die User_id um diese in die andere Tabelle einfügen zu können. Kann ich mit dem INSERT Befehl die angelegte ID zurückgeben? Oder gibt es eine andere Möglichkeit?
$user_id = mysql_insert_id();
gruß, lindicz
Hallo Ralf,
das ist, was du suchst:
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.
Schönen Gruß aus München
die knappschaft