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

Petit nouveau ! | 8 Messages

19 juil. 2007, 11:29

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.

ViPHP
ViPHP | 928 Messages

19 juil. 2007, 11:31

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

Petit nouveau ! | 8 Messages

19 juil. 2007, 11:33

Genova... Encore toi.
Re-merci donc !!
Facilement trouvable... J'ai essayé mais sans succés !

d0m
Mammouth du PHP | 1141 Messages

19 juil. 2007, 14:10

mysql_insert_id() renvoie t'il l'index ou l'identifiant auto-increment qu'on a défini en clé?

ViPHP
ViPHP | 928 Messages

19 juil. 2007, 14:16

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.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

19 juil. 2007, 14:25

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.