Bonsoir j’ai un sérieux problème sur lequel j’ai passé des heures sans pouvoir le résoudre aidez-moi s’il vous plait .
J’ai une table dans laquelle je stock des données pour ça je n’ai aucun problème ça marche comme je le souhaite, seulement à chaque enregistrement que j’enregistre dans la table je souhaite du coup récupérer son id (variable qui s’incrémente) qui est inscrit au niveau de la première colonne de la table .
Je voudrais récupérer cette id dès que j’effectue un enregistrement. Pour ça je veux utiliser SCOPE_IDENTITY() pour être sure de pouvoir récupérer la valeur de l’id que j’ai moi-même envoyé dans la table , car tel que j’ai conçu mon application d’autres personne peuvent en même temps que moi enregistrer des données dans cette table et je veux éviter coute que coute de prendre l’id qu’une autre personne a créé .
Mon probleme est le suivant :
1- je ne sais pas comment écrire la requête qui utilise SCOPE_IDENTITY() juste après la requête d’insertion
2 – Comment récupérer la valeur de l’id dans une variable
J’ai beau cherché dans le net mais je ne trouve pas. Finalement meme ca me brouille.
Je rappelle que j’utilise la méthode PDO et une requête préparée pour l’enregistrement des données dans ma table .
Merci
voici mon code

 $req = $bdd->prepare('INSERT INTO plan_op_invest(numero_prjt,identite_compte,lannee,laperiode,nbr,pu,total)VALUES(:numero_prjt,:identite_compte,:lannee,:laperiode,:nbr,:pu,:total)');
            $req->execute(array(
                         numero_prjt'=> $numprjt,
			'identite_compte'=> $cpt,
			'lannee'=> $annee_choix,
			'laperiode'=> $periode ,
			'nbr'=> $nbre,
			'pu'=> $punit,
			'total'=> $total
			 ));
											
                                    $req->closeCursor();
Salut

Simple :

$req = $bdd->prepare(("...");
$req ->execute();
$id = $bdd->lastInsertId();// ici tu récupe ton dernier ID.

Modifié par JENCAL (18 Jun 2018 - 10:53)
Merci jencal je vois maintenant qui'il faut recuperer l'id avant de cloturer la connection afin d'etre a l'abris d'une situation ou je pourais recuperer une id créé par un autre utilisateur de mon application
bonne journée
Oui, celui ci va chercher l'id qui "vient" d'être inscrit dans la base. celui lié à la connexion du context.
Test, vérifie si cela fonctionne, et met sur Résolu si cela est le cas Smiley smile

Bonne journée
abdoulayecoumba a écrit :
Merci jencal je vois maintenant qui'il faut recuperer l'id avant de cloturer la connection afin d'etre a l'abris d'une situation ou je pourais recuperer une id créé par un autre utilisateur de mon application
bonne journée

Non, comme te l'explique jencal tu reçois la derniére clé créée par TA connection ! pas la derniére clé créée de la table !
ta requéte pointant sur TON $bdd
Modifié par Christele (19 Jun 2018 - 16:35)