Ich möchte die Datensatz-ID für die zuletzt eingefügte Zeile in einer Datenbanktabelle erhalten. Ich versuche zu verwenden db_last_insert_id()
, aber es löst eine Ausnahme aus.
Aufruf einer undefinierten Funktion
db_last_insert_id()
Wie erhalte ich die zuletzt eingefügte Datensatz-ID?
Antworten:
In Drupal 6 würden Sie Code ähnlich dem folgenden verwenden.
Der entsprechende Drupal 7-Code lautet wie folgt.
quelle
function db_last_insert_id($table, $field)
Wenn Sie die jeweilige Einfügeabfrage nicht selbst steuern, können Sie immer eine einfache alte SQL-Abfrage verwenden:
quelle
MAX(uid)
muss die logische Auswahl diese UID zurückgeben. Wenn nicht, ist Ihr MySQL-Server sehr, sehr kaputt$ id enthält die zuletzt eingefügte ID der Tabelle. Echo einfach $ id.
quelle
Wenn Sie aus irgendeinem Grund vor dem Einfügen einen Feldwert abrufen müssen, ist dies eine Problemumgehung.
quelle
Ein grober Trick, aber es funktioniert:
oder
quelle