IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

formulaire d'inscription et récupération dernier Id


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Autre
    Inscrit en
    Mars 2021
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Mars 2021
    Messages : 206
    Points : 93
    Points
    93
    Par défaut formulaire d'inscription et récupération dernier Id
    Bonsoir
    j'ai une fonction inscription pour récupérer les données d'un formulaire et les insérer dans ma table (tout marche bien), Ma requête préparée marche bien mais il faudrait que je récupère le dernier Id. Est-ce que il est possible d'utiliser LAST_INSERT_ID
    de cette façon dans la requête ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function  getIdLastUtil(){
                $req = 'SELECT LAST_INSERT_ID() from utilisateurs';
                $id= $this->bdd->query($req);
                return $id;
            }
     
            function GetLastUtil(){
                $id = getIdLastUtil();
                $req = "SELECT * from utilisateurs where id_utilis = $id";
                $utilisateur = $this->bdd->query($req);
                $resultat = $utilisateur->fetchALL(PDO::FETCH_ASSOC);
                return $resultat;
            }
    Ma requête d'insertion est la suivant et elle fonctionne bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $req = $this->bdd->prepare("
                    INSERT INTO utilisateurs(nom, prenom, date_naiss, email, login, password, est_admin)
                    VALUES (:nom, :prenom, :date_naiss, :email, :login, :password, :est_admin) 
                ");
     
                $req->bindParam(':nom', $nom);
                $req->bindParam (':prenom', $prenom);
                $req->bindParam(':date_naiss', $naiss_date);
                $req->bindParam(':email', $email);
                $req->bindParam(':login', $login);
                $req->bindParam(':password', $password);
                $req->bindParam(':est_admin', $est_admin);
                $req->execute();
    Merci pour vos conseils.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 411
    Points : 15 780
    Points
    15 780
    Par défaut
    juste après avoir fait le "insert", vous pouvez récupérer l'identifiant avec $this->bdd->lastInsertId().
    https://www.php.net/manual/fr/pdo.lastinsertid.php

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 344
    Points : 39 745
    Points
    39 745
    Billets dans le blog
    9
    Par défaut
    Pour être précis la fonction lastInsertId() renvoie la valeur du dernier identifiant de type auto_increment pour le thread actif, pas le dernier tous threads confondus.
    C'est ce qui permet à plusieurs traitements concurrents d'ajouter simultanément des lignes dans un table parent et de récupérer l'identifiant inséré pour le propager en insérant dans les lignes d'une table enfant dépendante (liée par contrainte d'intégrité).
    De plus, si l'insert n'a pas été commité, la valeur n'est pas alimentée.

  4. #4
    Membre régulier
    Homme Profil pro
    Autre
    Inscrit en
    Mars 2021
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Mars 2021
    Messages : 206
    Points : 93
    Points
    93
    Par défaut
    Bonjour,
    je vous remercie pour vos conseils et ces explications.
    bonne soirée et encore merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Formulaire avec plusieurs submit -> Récupération
    Par masseur dans le forum Langage
    Réponses: 14
    Dernier message: 30/03/2006, 08h17
  2. Formulaire d'inscription
    Par ero-sennin dans le forum Langage
    Réponses: 3
    Dernier message: 29/01/2006, 19h23
  3. Creation d'un formulaire d'inscription
    Par whbh dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 21/01/2006, 14h04
  4. [HTML][FORMULAIRE] Probleme dans la récupération des données
    Par baddounet dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 15/08/2005, 18h51
  5. Formulaire d'inscription
    Par Gourouni dans le forum ASP
    Réponses: 6
    Dernier message: 02/12/2004, 16h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo