Folgendes Problem:
ich habe eine Datenbank mit 2 Tabellen Benutzer und Adresse.
Der Primärschlüssel der Tabelle Adresse ist in der Tabelle Benutzer vorhanden.
Nun will ich einen neuen Benutzer + Adresse hinzufügen und brauche dazu die ID des Adressrecords, um ihn in die Benutzertabelle zu schreiben.
Aktuell habe ich folgenden Code der leider nicht funktioniert.
(Benutzer und Adresse wird angelegt, aber der Fremdschlüssel des Adressrecords in der Tabelle Benutzer ist null)
//Adressrecord schreiben
if ($insert_stmt1 = $mysqli->prepare("INSERT INTO Adresse (Strasse,PLZ,Ort,Hausnr) VALUES (?, ?, ?, ?)")){
$insert_stmt1->bind_param('ssss', $strasse, $plz, $ort, $hausnr);
//Führe die vorbereitete Anfrage aus.
if (!$insert_stmt1->execute()) {
// header('Location: ../error.php?err=Registration failure: INSERT2');
}
}
//Maximale ID auslesen
$sql = "SELECT MAX(BenutzerId) b FROM Benutzer";
$stmt->prepare($sql);
$stmt->execute();
$row = $stmt->fetch();
echo $row[1];
//Benutzer hinzufügen
if ($insert_stmt2 = $mysqli->prepare("INSERT INTO Benutzer(Benutzername,Vorname,Nachname,Telefonnummer,Handynummer,Mailadresse,Passwort,Profilbild,istAdmin,istAktiv,Salt,Adresse_idAdresse) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)")){
$insert_stmt2->bind_param('ssssssssssss', $username, $vorname, $nachname, $telefon, $handy, $email, $passwort, $bild, $admin, $aktiv, $random_salt, $row[b]);
// Führe die vorbereitete Anfrage aus.
if (!$insert_stmt2->execute()) {
// header('Location: ../error.php?err=Registration failure: INSERT2');
}
}
//success beider Statements
// header('Location: ../Anmeldung.php');