PHP : REcuperation d'un ID après INSERT
Résolu/Fermé
alexandre.cailliau
Messages postés
25
Date d'inscription
lundi 12 février 2001
Statut
Membre
Dernière intervention
20 juin 2002
-
12 déc. 2001 à 15:59
kitam - 28 août 2012 à 19:33
kitam - 28 août 2012 à 19:33
Bonjour,
Voici mon problème :
J'ai une base avec une table contenant plusieurs champs dont un nommé ID qui est la clé et s'incremente automatiquement.
En PHP je lance une requete INSERT et j'aimerais savoir comment recuperer l'ID de mon nouvel enregistrement pour pouvoir mettre à jour d'autres tables. Je ne peux pas faire un SELECT car les autres champs de la table n'ont pas forcement des valeurs uniques.
Avez vous une idée.
Merci d'avance
Alexandre
Voici mon problème :
J'ai une base avec une table contenant plusieurs champs dont un nommé ID qui est la clé et s'incremente automatiquement.
En PHP je lance une requete INSERT et j'aimerais savoir comment recuperer l'ID de mon nouvel enregistrement pour pouvoir mettre à jour d'autres tables. Je ne peux pas faire un SELECT car les autres champs de la table n'ont pas forcement des valeurs uniques.
Avez vous une idée.
Merci d'avance
Alexandre
A voir également:
- PHP : REcuperation d'un ID après INSERT
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour à la ligne php ✓ - Forum PHP
- Php?id=1 - Forum PHP
- Retour a la ligne avec Echo comment faire ? - Forum Webmastering
6 réponses
Bonjour,
Je reprends cette discussion pour poser la question suivante :
La solution proposée par nabzone est la suivante :
t : $..=MYSQL_QUERY($toninsert);
t+y : $UID=mysql_insert_id();
t étant l'instant à laquelle mysql_query est lancée.
y étant le temps de traitement de mysql_query.
Jusque là ça a l'air correct.
Mais je prends un cas où on travaille sur une base où 1000 personnes travaillent en même temps.
Comment être sûr que l'ID retourné par mysql_insert_id() est celui correspondant à ce que je viens d'insérer et non pas à un autre enregistrement qui a eu lieu entre t et t+y????
Merci pour vos réponses
Walid G.
Je reprends cette discussion pour poser la question suivante :
La solution proposée par nabzone est la suivante :
t : $..=MYSQL_QUERY($toninsert);
t+y : $UID=mysql_insert_id();
t étant l'instant à laquelle mysql_query est lancée.
y étant le temps de traitement de mysql_query.
Jusque là ça a l'air correct.
Mais je prends un cas où on travaille sur une base où 1000 personnes travaillent en même temps.
Comment être sûr que l'ID retourné par mysql_insert_id() est celui correspondant à ce que je viens d'insérer et non pas à un autre enregistrement qui a eu lieu entre t et t+y????
Merci pour vos réponses
Walid G.
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
28 mai 2006 à 20:53
28 mai 2006 à 20:53
Bsr
Tu n'as pas trop a t'inquiéter car MySQL verrouille le thread qui réalise l'insert. (du moins je pense ...) A partir du moment où il te retourne l'ID c'est bon.
Pour plus de détails :
http://dev.mysql.com/doc/refman/5.0/fr/mysql-stmt-insert-id.html
connexes :
http://dev.mysql.com/doc/refman/5.0/fr/innodb-locking-reads.html
http://dev.mysql.com/doc/refman/5.0/fr/insert.html
Tu n'as pas trop a t'inquiéter car MySQL verrouille le thread qui réalise l'insert. (du moins je pense ...) A partir du moment où il te retourne l'ID c'est bon.
Pour plus de détails :
http://dev.mysql.com/doc/refman/5.0/fr/mysql-stmt-insert-id.html
connexes :
http://dev.mysql.com/doc/refman/5.0/fr/innodb-locking-reads.html
http://dev.mysql.com/doc/refman/5.0/fr/insert.html
nabzone a raison parce que mysql_insert_id() le denier id que mysql a pour ta connection. cette valeur la est en session cote serveur.
pas besoin d'avoir peur pour les acces d'autre utilisateurs.
par contre il faut s'en mefier pour les procedures stockees
pas besoin d'avoir peur pour les acces d'autre utilisateurs.
par contre il faut s'en mefier pour les procedures stockees
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'ai présumé (peu être à tort) que tu utilisait MySQL
@+
@+
alexandre.cailliau
Messages postés
25
Date d'inscription
lundi 12 février 2001
Statut
Membre
Dernière intervention
20 juin 2002
12 déc. 2001 à 17:04
12 déc. 2001 à 17:04
tu as bien fait et ça marche super bien.
MERCI
MERCI
21 janv. 2009 à 10:14
si j'ai dans ma page la listes de tous les viteurs et que je suis connectés en tant qu'administrateur et que je veut modifier les coordonnées d'un utilisateur comment je fait pour récupérer l'id de cette l'utilisateur
28 août 2012 à 19:33