Recuperer l'identifiant du dernier enregistrement

Fermé
Achille32 Messages postés 37 Date d'inscription mardi 21 avril 2015 Statut Membre Dernière intervention 21 mai 2016 - 1 mai 2016 à 10:19
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 - 18 mai 2016 à 20:17
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

medboy94 Messages postés 44 Date d'inscription jeudi 6 septembre 2012 Statut Membre Dernière intervention 14 mai 2016
1 mai 2016 à 11:01
il y'a une fonction qui s'appelle function LAST_INSERT_ID()
0
Achille32 Messages postés 37 Date d'inscription mardi 21 avril 2015 Statut Membre Dernière intervention 21 mai 2016
1 mai 2016 à 11:03
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);
0
Achille32 Messages postés 37 Date d'inscription mardi 21 avril 2015 Statut Membre Dernière intervention 21 mai 2016
1 mai 2016 à 11:05
quand je fais:
echo $recup; celà me retourne un truc du genre Ressource #8
0
zermat Messages postés 160 Date d'inscription jeudi 19 juin 2014 Statut Membre Dernière intervention 3 juin 2016 16
2 mai 2016 à 10:07
Il faut mettre
$recup = mysql_query("SELECT LAST_INSERT_ID()");
$row = mysql_fetch_row($recup);
echo $row[0];
0
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
18 mai 2016 à 19:58
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());

0
zermat Messages postés 160 Date d'inscription jeudi 19 juin 2014 Statut Membre Dernière intervention 3 juin 2016 16
18 mai 2016 à 20:07
@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
0
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705 > zermat Messages postés 160 Date d'inscription jeudi 19 juin 2014 Statut Membre Dernière intervention 3 juin 2016
18 mai 2016 à 20:17
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.
0