Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1674 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème avec l'id

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème avec l'id

n°2316987
abdoulayec​oumba
Posté le 15-06-2018 à 02:10:32  profilanswer
 


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 .  
 
voici mon code
 

Code :
  1. $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)');
  2.                                          $req->execute(array(
  3.                                                     'numero_prjt'=> $numprjt,
  4.          'identite_compte'=> $cpt,
  5.           'lannee'=> $annee_choix,
  6.           'laperiode'=> $periode ,
  7.           'nbr'=> $nbre,
  8.            'pu'=> $punit,
  9.            'total'=> $total
  10.         ));
  11.                                     $req->closeCursor();


Merci

mood
Publicité
Posté le 15-06-2018 à 02:10:32  profilanswer
 

n°2316989
MaybeEijOr​Not
but someone at least
Posté le 15-06-2018 à 10:16:04  profilanswer
 

Bonjour,
 
https://docs.microsoft.com/fr-fr/sq [...] erver-2017
 
lastInsertId() ne suffirait pas ? Auquel cas l'id auto-incrémentée est peut-être une mauvaise idée.


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°2317004
MaybeEijOr​Not
but someone at least
Posté le 15-06-2018 à 18:17:40  profilanswer
 

Par contre, lastInsertId() fonctionnera comme attendu uniquement si tu ne clos pas la connexion à la bdd entre son appel et l'insertion.
Sinon il y a en effet le risque que quelqu'un d'autre ait inséré une ligne entre temps et donc de récupérer le mauvais id. Néanmoins je pense que si tu clos la connexion alors lastInsertId() retournera une erreur car il n'interviendra pas après une insertion.


Message édité par MaybeEijOrNot le 15-06-2018 à 18:17:58

---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème avec l'id

 

Sujets relatifs
[Perl] Optimisation code perl CGI - Problème de performanceProblème wordpress elementor
[VBS] Problème déplacement fichierProbleme signature html
Problème de redirectionProbleme de PHP Formulaire de contact
Problème avec number_format()Problème d'affichage d'un bouton
probleme de goto dans un if[Shell] Problème avec la commande wget
Plus de sujets relatifs à : Problème avec l'id


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR