Rechercher : dans
Par :

PHP : REcuperation d'un ID après INSERT

Dernière réponse le 21 jan 2009 à 10:14:37 alexandre.cailliau, le 12 déc 2001 à 15:59:39 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « PHP : REcuperation d'un ID après INSERT » dans :
PHP - Récupération de données Voir PHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
Il est possible de récupérer le code source PHP d'un site VoirMythe Un utilisateur peut récupérer le code source PHP d'un site web comme il peut récupérer le code HTML. Réalité FAUX Explications Les fichiers PHP (ASP, JSP, etc.) sont des fichiers interprétés côté serveur, ce qui signifie que le serveur web...
Sed - Insérer un espace entre chaque lettre VoirInsérer un espace entre chaque lettre $ echo -e "bonjour la vie\net bonjour à toi" | sed 's/./& /g' b o n j o u r l a v i e e t b o n j o u r à t o iL'inconvénient c'est que l'espace naturel entre chaque mot est doublé. Pour pallier à ce...
PHP - Bases de données VoirPhp permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...

1

nabzone, le 12 déc 2001 à 16:19:05
  • +4

Voila comment tu peux récupérer l'ID
..
$..=MYSQL_QUERY($toninsert);
$UID=mysql_insert_id();
..

Répondre à nabzone

9

 sefora, le 21 jan 2009 à 10:14:37

J'ai une question:
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

Répondre à sefora

2

nabzone, le 12 déc 2001 à 16:20:08

J'ai présumé (peu être à tort) que tu utilisait MySQL

@+

Répondre à nabzone

3

alexandre.cailliau, le 12 déc 2001 à 17:04:33

Tu as bien fait et ça marche super bien.

MERCI

Répondre à alexandre.cailliau

4

Walid, le 27 mai 2006 à 23:29:27
  • +2

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.

Répondre à Walid

5

Walid, le 28 mai 2006 à 20:02:45

Hello Again,


Please, quelqu'un aura une réponse à ma question?
Ma demande est urgente.

thanks

Répondre à Walid

6

PhP, le 28 mai 2006 à 20:53:51

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 PhP  
Il y a 10 types de personnes dans le monde : ceux qui compre­nnent le binaire et les autres ...

Répondre à PhP

7

Walid, le 30 mai 2006 à 04:37:07

Thanks a lot

Répondre à Walid

8

Mick, le 8 aoû 2007 à 08:41:34
  • +1

Pour info, voici ce qu'on trouve dans la doc :
Le dernier ID généré est conservé par le serveur pour chaque connexion. Un autre client ne la modifiera donc pas, même s'ils génèrent une autre valeur AUTO_INCREMENT de leur coté.

C'est donc tout bon pour utiliser mysql_insert_id() !

Merci à nabzone...

Répondre à Mick