Maison >développement back-end >tutoriel php >Comment récupérer le dernier ID inséré dans MySQLi et l'utiliser pour une autre insertion de table ?

Comment récupérer le dernier ID inséré dans MySQLi et l'utiliser pour une autre insertion de table ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-07 20:43:20939parcourir

How to Retrieve the Last Inserted ID in MySQLi and Use It for Another Table Insertion?

Récupérer l'ID du dernier insert et l'utiliser pour l'insérer dans une autre table avec MySQLi

Pour insérer un enregistrement dans une autre table tout en l'associant au dernier identifiant inséré à partir d'une autre table, vous devez suivre ces étapes :

Créer un incrément automatique Champ

Assurez-vous d'avoir un champ à incrémentation automatique dans votre colonne de clé primaire pour suivre l'ID de l'enregistrement inséré le plus récemment.

Récupérer l'ID de la dernière insertion

Utilisez la fonction mysqli_insert_id() pour récupérer le dernier ID inséré dans la première table. Cet identifiant sera utilisé pour créer un lien vers l'enregistrement nouvellement inséré dans la deuxième table :

$last_id = mysqli_insert_id($conn);

Préparer la déclaration

Créer une déclaration préparée qui insérera les données nécessaires dans la deuxième table, y compris l'association avec le dernier ID inséré :

$stmt = $mysqli->prepare("
  INSERT INTO table1 (username, firstname, lastname, image) 
  SELECT ?,?,?,? FROM table2 t2 WHERE username = ? AND t2.id = ? 
");

Bind Paramètres

Liez les paramètres comme d'habitude, y compris le paramètre $image avec la valeur du dernier ID inséré :

$stmt->bind_param('sssss', $username, $fname, $lname, $last_id, $username);

Execute Statement

Exécutez l'instruction préparée pour insérer les données dans la deuxième table :

$stmt->execute();

En suivant ces étapes, vous pouvez réussir à récupérer le dernier identifiant inséré dans une table et à insérer l'enregistrement dans une autre table tout en associant correctement les données.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn