Page 1 sur 1

récupérer l'ID d'un champ venant d'être enregistré

Posté : 19 juil. 2007, 11:29
par sebddec38
Bonjour,

Je débute en PHP et Mysql...
Je récupère plein d'infos via un formulaire. J'enregistre toutes ces infos dans 2 tables d'une même base. Je veux utiliser l'ID d'un champ enregistré dans la seconde base pour l'insérer dans la première. Ma question... Plutôt que de faire une recherche dans la seconde base pour trouver le champ que je viens d'insérer, existe t'il une fonction prédéfinie qui me renvoie les valeurs (et surtout l'ID qui s'auto incrémente) du dernier champ inséré ??

Merci par avance pour votre aide.

Seb.

Posté : 19 juil. 2007, 11:31
par Genova
Bonjour,
oui il existe une fonction PHP (facilement trouvable) : mysql_insert_id()

Tu peux aussi le faire via une requête SQL :

Code : Tout sélectionner

SELECT LAST_INSERT_ID() FROM ta_table

Posté : 19 juil. 2007, 11:33
par sebddec38
Genova... Encore toi.
Re-merci donc !!
Facilement trouvable... J'ai essayé mais sans succés !

Posté : 19 juil. 2007, 14:10
par d0m
mysql_insert_id() renvoie t'il l'index ou l'identifiant auto-increment qu'on a défini en clé?

Posté : 19 juil. 2007, 14:16
par Genova
Il renvoie l'ID. En gros mysql_insert_id() execute de son côté la requête LAST_INSERT_ID(). La différence est expliquée dans la doc et se situe au niveau de la taille des INT. La fonction PHP est limitée par les long, là ou la requête LAST_INSERT_ID() n'a pour limite que ce que le SGBD gère.

Posté : 19 juil. 2007, 14:25
par ouckileou
Modération :
sebddec38, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.


Au passage, la réponse à cette question était dans la FAQ, merci d'y jeter un oeil la prochaine fois.