Heim > Datenbank > MySQL-Tutorial > Wie verwende ich „mysqli_insert_id()' korrekt mit Fremdschlüsselbeziehungen?

Wie verwende ich „mysqli_insert_id()' korrekt mit Fremdschlüsselbeziehungen?

Linda Hamilton
Freigeben: 2024-12-30 17:15:09
Original
412 Leute haben es durchsucht

How to Correctly Use `mysqli_insert_id()` with Foreign Key Relationships?

mysqli_insert_id mit Fremdschlüsselbeziehung

Beim Arbeiten mit mehreren Tabellen mit Fremdschlüsselbeziehungen ist es wichtig, die Daten zwischen ihnen korrekt zuzuordnen. In diesem Artikel geht es um das Problem beim Abrufen der zuletzt eingefügten ID aus einer Tabelle (Tabelle2) und deren Verwendung zum Einfügen einer Zeile in eine andere Tabelle (Tabelle1).

Problem:

Der Code versucht, die zuletzt eingefügte ID aus Tabelle2 an eine Bildspalte in Tabelle1 zu binden, indem er $image = $mysqli->insert_id verwendet. Dieser Ansatz schlägt jedoch fehl und verhindert die ordnungsgemäße Zuordnung zwischen Tabellen.

Lösung:

Um dieses Problem zu beheben, besteht der erste Schritt darin, sicherzustellen, dass die ID-Spalte in Tabelle2 ist als Auto-Inkrement-Feld definiert. Als nächstes verwenden Sie mysqli_insert_id(), um die zuletzt eingefügte ID aus Tabelle2 abzurufen. Hier ist der geänderte Code:

$last_id = mysqli_insert_id($mysqli); // Get last inserted ID from table2

$stmt = $mysqli->prepare("
  INSERT INTO table1 (username, firstname, lastname, image) 
  SELECT ?,?,?,image FROM table2 t2 WHERE username = ? AND t2.id = ?
");
$stmt->bind_param('sssss', $username, $fname, $lname, $username, $last_id);
$stmt->execute();
Nach dem Login kopieren

Die Funktion mysqli_insert_id() erfasst die zuletzt eingefügte ID aus Tabelle2 und bindet sie mithilfe von $last_id an die Bildspalte in Tabelle1. Dadurch wird sichergestellt, dass das Bild korrekt mit dem Vornamen, Nachnamen und Benutzernamen in Tabelle 1 verknüpft ist, wodurch die Fremdschlüsselbeziehung zwischen den beiden Tabellen erhalten bleibt.

Das obige ist der detaillierte Inhalt vonWie verwende ich „mysqli_insert_id()' korrekt mit Fremdschlüsselbeziehungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage