Bienvenue sur PEBKAC.fr, le site qui recense les anecdotes où l’on se moque des utilisateurs ne maîtrisant pas l’outil informatique. PEBKAC est un acronyme signifiant « Problem Exists Between Keyboard And Chair ».mysql_* pourtant obsolètes depuis bien longtemps.AUTO_INCREMENT en PHP, vu que c'est apparemment bien plus amusant de réinventer la roue que d'utiliser une fonction proposée en standard par MySQL. Et le pire, c'est que c'était ce point justement qui empêchait son code de fonctionner correctement. PEBKAC.
AUTO_INCREMENT sous MySQL, c'est pour récupérer l'identifiant qui vient d'être créé pour pouvoir le réutiliser (dans des tables intermédiaires par exemple)..mysql_insert_id qui récupère le dernier identifiant inséré et la possibilité d'empaqueter tout ça dans une transaction pour éviter les problèmes liés à l'exécution de plusieurs insert en parallèle, mais ce n'est du coup pas forcément accessible à un novice.mysql_insert_id. La dernière fois qu'il s'est planté, j'ai été bon pour faire un +1 sur près de 300 lignes...
mysql_insert_id n'était pas accessible à un novice. J'ai dit que pour gérer le tout correctement, il fallait passer cette fonction dans une transaction, enchaînant ainsi insert et mysql_insert_id pour être sûr de récupérer le bon id. C'est l'utilisation des transactions qui n'est pas forcément accessible à un novice.SELECT LAST_INSERT_ID();
LAST_INSERT_ID() a exactement les mêmes défauts que la fonction mysql_insert_id...insert et le last_insert_id, et dans ce cas, il ne fonctionne plus. (Bon, dans ce cas, c'est un PEBKAC, on est d'accord, mais j'ai déjà vu des scripts qui recréaient la connexion à chaque requête.)mysql_insert_id. Pifenmoins, j'essaie au maximum de m'en passer.
mysql_insert_id serait donc lié à la session php et pas à la session MySQL, ce qui ferait une grosse différence de fonctionnement entre les deux méthodes.
Après là où on peut critiquer, c'est les gens qui viennent poser une question façon «fait mon devoir maison à ma place» et/ou avec aucun effort sur l'écriture/mise en forme. Mais ici c'est pas vraiment ce que tu décris, donc un bon CTLP pour moi.