Récupérer l'ID (auto_increment) d'une insertion et 2ème requête

Par Strappal, il y a 4 ans


Bonsoir à tous,

J'ai un formulaire qui doit exécuter deux requêtes à la suite.

C'est une petite appli pour la gestion de mon association et des enfants inscrits aux activités.

Dans le même formulaire, je créé l'activité (qui s'insert dans une base de données "activites") et dans la foulée, j'enregistre le/les animateur(s) lié à cette activité dans une autre base.

Dans ma première requête, je souhaiterais récupérer l'ID qui se génére automatiquement (auto_increment) et immédiatement, récupérer cet ID pour pouvoir liés dans la base activites_animateur chaque animateur avec l'ID de l'activité et donc exécuter ma seconde requête dans la même méthode.

J'espère être assé clair dans mon explication.

Merci d'avance pour votre aide.

4 réponses

Strappal, il y a 4 ans

Merci gillesr, effectivement, je pense que ça devrait me convenir, je vais faire un essai.

Orivoir21, il y a 4 ans

Bonjour, en tapant: PHP SQL Get last inserted id sur google j'ai trouvé cette page sur w3schools qui montre des extraits de code avec mysqli et PDO pour récupérer un id lors d'un INSERT INTO.

Le code d'exemple avec PDO vient récupérer l'id directement sur l'objet PDO.

$sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')"; // use exec() because no results are returned $conn->exec($sql); $last_id = $conn->lastInsertId();
Strappal, il y a 4 ans

Merci de cette réponse Orivoir21,

J'ai oublié de préciser que je développais mon appli sous laravel et depuis peu, livewire. Mais c'est une piste à exploiter.

Est ce transposable avec Eloquent ?

De ce que j'ai compris, cela récupére l'ID de la dernière insertion, si deux personnes procédent à un enregistrement, n'y a t'il pas un risque de se retrouver avec le mauvais ID récupéré ?

Merci de ton aide.