Recuperer l'identifiant du dernier enregistrement [Fermé]

Signaler
Messages postés
37
Date d'inscription
mardi 21 avril 2015
Statut
Membre
Dernière intervention
21 mai 2016
-
jordane45
Messages postés
28004
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 avril 2020
-
Bonjour à tous,
je voudrais savoir comment récupérer l'identifiant du dernier enregistrement d'une table. En effet je compte incrémenter cet identifiant pour avoir l'identifiant d'un nouvel enregistrement.
J'ai assayé avec
SELECT LAST_INSERT_ID mais celà me retourne Ressource #8
quelqu'un pourrais m'aider? merci

3 réponses

Messages postés
48
Date d'inscription
jeudi 6 septembre 2012
Statut
Membre
Dernière intervention
14 mai 2016

il y'a une fonction qui s'appelle function LAST_INSERT_ID()
Achille32
Messages postés
37
Date d'inscription
mardi 21 avril 2015
Statut
Membre
Dernière intervention
21 mai 2016

C'est cette fonction que j'essayer d'utiliser, mais je n'y arrive pas vraiment

$recup = mysql_query(SELECT LAST_INSERT_ID FROM employe);
Achille32
Messages postés
37
Date d'inscription
mardi 21 avril 2015
Statut
Membre
Dernière intervention
21 mai 2016

quand je fais:
echo $recup; celà me retourne un truc du genre Ressource #8
Messages postés
160
Date d'inscription
jeudi 19 juin 2014
Statut
Membre
Dernière intervention
3 juin 2016
15
Il faut mettre
$recup = mysql_query("SELECT LAST_INSERT_ID()");
$row = mysql_fetch_row($recup);
echo $row[0];
Messages postés
28004
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 avril 2020
2 229
Bonjour,

Tout d'abord ... l'extension mysql est considérée comme obsolète
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
Je t'invite fortement à passer à PDO ou mysqli



Et juste pour info .. LAST INSERT ID ne s'utilise pas dans un SELECT. C'est une fonction de mysql qui s'utilise comme ceci :
https://www.php.net/manual/fr/function.mysql-insert-id.php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Impossible de se connecter : ' . mysql_error());
}
mysql_select_db('mydb');

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Le dernier ID inséré dans est le id %d\n", mysql_insert_id());

zermat
Messages postés
160
Date d'inscription
jeudi 19 juin 2014
Statut
Membre
Dernière intervention
3 juin 2016
15
@jordane45
Non LAST_INSERT_ID s'utilise avec select
voir https://dev.mysql.com/doc/refman/5.7/en/information-functions.html#function_last-insert-id
Par contre mysql_insert_id() c'est une fonction non pas de mysql mais de php
jordane45
Messages postés
28004
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 avril 2020
2 229 > zermat
Messages postés
160
Date d'inscription
jeudi 19 juin 2014
Statut
Membre
Dernière intervention
3 juin 2016

Oui c'est vrai j'ai été un peu rapide dans ma réponse.
C'est une fonction de l'extension mysql (qu'on utilise en php)

Par contre, pourquoi faire une requête SELECT ... lorsqu'une telle fonction existe....?
L'utilisation du SELECT LAST_INSERT_ID est principalement destinée à son utilisation en requête direct dans la bdd.
Lorsque l'on utilise un langage (comme le php) autant utiliser les fonctions dédiées.

Mais tu as bien fait de me corriger.