Récupération de l'ID du dernier insert avec "mysqli_insert_id" pour l'insertion dans un tableau croisé
Vous essayez d'associer une image à des données dans une autre table. Pour cela, vous devez récupérer la dernière ligne insérée dans la première table et utiliser son ID pour effectuer l'insertion dans la deuxième table. Cependant, la méthode que vous utilisez pour obtenir le dernier ID d'insertion ne fonctionne pas.
Solution :
La syntaxe correcte pour récupérer le dernier ID inséré à l'aide de l'interface MySQLi est mysqli_insert_id($conn). Vous pouvez ensuite utiliser cet identifiant pour vous lier à l'instruction d'insertion.
Voici une version corrigée de votre code :
$last_id = mysqli_insert_id($mysqli); // Get the last inserted ID $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();
Considérations supplémentaires :
Assurez-vous que le champ ID de la première table est un champ à incrémentation automatique. Cela garantit qu'un identifiant unique est généré à chaque fois qu'une ligne est insérée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!