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 :

Récuperer le dernier ID insere avec PDO (PDO lastInsertID()) [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 185
    Par défaut Récuperer le dernier ID insere avec PDO (PDO lastInsertID())
    Bonjour à toutes et tous,
    Je suis le tuto "https://bpesquet.developpez.com/tutoriels/php/evoluer-architecture-mvc/".
    J'ai donc créer une fonction dans le modèle qui insère un nouveau membre dans ma base de données (function addUser(....data....) { ...BlaBla... return $user;} ) l'enregistrement se fait correctement.
    Je dois maintenant récupérer le dernier id ( $id = $pdo->lastInsertId(); ) dans le contrôleur. Je ne sais pas comment faire. Toute vos contributions seront les bienvenues. Merci

  2. #2
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2014
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2014
    Messages : 33
    Par défaut
    Bonjour,
    Je ne sais pas si j'ai bien compris ou est ton problème, mais si tu as ta fonction par exemple :

    function ecriture_base(){
    //code écriture
    .........
    // récupération de l'identifiant de l'entrée que tu viens d'écrire
    $id = $pdo->lastInsertId();
    return $id;
    }

    $id est la variable qui contient cet identifiant, ou est ton problème?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 185
    Par défaut
    Bonjour cedric et merci pour votre aide.
    Une fonction (celle qui accède aux données) est dans le modèle, l'autre dans le contrôleur. normalement je fais mon lastinsertid après l'insertion.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function addProspect( $groupe, $origine, $email, $civilite, $nom, $prenom, $adresse, $cpost, $ville, $telephone, $telephone1, $telephone2, $pro )
    {
    	/*   Enregitrement du nouveau prospect   */
    	$pdo = getBdd() ;
    	$prospect = $pdo->prepare( 'INSERT INTO bb_membres( bb_membres_groupes, bb_membres_origine,  bb_membres_email, bb_membres_civilite,'
    				.' bb_membres_nom, bb_membres_prenom, bb_membres_adresse, bb_membres_cpost, bb_membres_ville, bb_membres_telephone, bb_membres_telephone1,' 
    				.' bb_membres_telephone2, bb_membres_professionnel, bb_membres_date_inscription)'
    				.' VALUES( :groupe, :origine, :email, :civilite, :nom, :prenom, :adresse, :cpost, :ville, :telephone, :telephone1, :telephone2, :pro, CURDATE()) ' ) ;
    	$prospect->execute( array( 'groupe'=>$groupe, 'origine'=>$origine, 'email'=>$email , 'civilite'=>$civilite, 'nom'=>$nom, 'prenom'=>$prenom,
    	'adresse'=>$adresse, 'cpost'=>$cpost, 'ville'=>$ville, 'telephone'=>$telephone, 'telephone1'=>$telephone1, 'telephone2'=>$telephone2, 'pro'=>$pro) ) ;
    	$mid = $pdo->lastInsertId() ;
    return $mid ;
    }
    depuis le controleur j'appelle :
    $prospect = addProspect(.....) ;

    et la pour la suite, je veux récupérer mon dernier ID toujours dans le contrôleur. La fonction addProspect() retourne (normalement) le dernier id ($mid) après l'insertion. Mais je ne sais pas le récupérer.

  4. #4
    Membre éclairé Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Par défaut
    bonjour jmtrivia,
    regarde ce tuto tu trouvera un exemple avec PDO .
    https://www.w3schools.com/php/php_my...ert_lastid.asp
    A+

  5. #5
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2014
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2014
    Messages : 33
    Par défaut
    Si dans ton contrôleur tu fais
    echo $prospect;
    la dernière id doit s'afficher, elle est contenue dans la variable $prospect.

    Je ne comprends ton problème.
    Tu as testé le contenu de la variable et elle est vide ?
    L'enregistrement dans ta base se fait correctement ?
    Tu veux faire quoi de ton id

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 185
    Par défaut
    Bon ben en fait, j'avais juste oublié de re-charger le controleur sur le serveur ! et tu as raison (et j'avais raison aussi sans mon étourderie) ma fonction renvoie bien l'id que je passe ensuite dans une autre fonction... Merci à tous.

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

Discussions similaires

  1. [PDO] requête sql avec PDO impossible
    Par HALOMOTO dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 22/03/2009, 00h17
  2. [PDO] Insertion de données avec PDO
    Par pakkun dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 09/02/2008, 01h33
  3. [PDO] Connaître les champs d'une table avec PDO
    Par Yadutaf dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/02/2008, 13h37
  4. [PDO] Probleme avec PDO / PHP5
    Par anjin dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 27/08/2007, 07h33
  5. [PDO] Pb instanciation $statement avec PDO sous PHP
    Par tigunn dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 22/02/2007, 20h45

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