Ik wil bij het aanmaken van een account gegevens inserten in een tabel.
De bijbehorende ID wil ik ook direct inserten in een andere tabel.
Ik heb begrepen dat de volgende beschrijving beter niet meer toegepast kan worden.
Hij verdwijnt ook in PHP 7.
Maar hoe kan ik dan dit het beste uitvoeren?


            $emp_id = mysql_insert_id(); // last created id by above query


Die $empty_id kon ik weer gebruiken om te inserten bij de andere tabel.
Stap over op de functies van MySQLi!
Het lange(re) antwoord:

De _insert_id() constructie is de (en volgens mij enige, of in ieder geval juiste) manier om het id van het laatst toegevoegde record op te halen.

Het gaat bij deze opmerking dat je deze functie beter niet meer kunt gebruiken dus niet zozeer om deze specifieke constructie (waar niks mis mee is), maar meer om de implementatie van de verzameling mysql_-functies. Deze hele groep functies, gezamenlijk beter bekend onder de noemer van (originele) MySQL extensie is al een hele tijd verouderd (deprecated vanaf PHP 5.5.0) en in PHP 7.0.0 is deze definitief verwijderd.

Indien je nieuwe code aan het schrijven bent, is het onverstandig om dit te doen met gebruikmaking van mysql_-functies omdat deze al ~10 jaar semi officieel (en met de komst van PHP 7 definitief) afgeschreven is.

Voor MySQL (in plaats van de mysql_-functies dus) zijn er twee alternatieven: MySQLi (MySQL Improved Extension) of PDO (PHP Data Objects) in combinatie met PDO_MYSQL, een PDO driver met functionaliteit specifiek voor MySQL.
Bedankt voor de reacties...kan weer even vooruit!

Reageren