Insert en dan Id van de ene naar de andere tabel
Hans De Ridder
15/03/2016 11:54:52Ik 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?
Die $empty_id kon ik weer gebruiken om te inserten bij de andere 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?
Die $empty_id kon ik weer gebruiken om te inserten bij de andere tabel.
PHP hulp
12/12/2024 15:16:00Thomas van den Heuvel
15/03/2016 14:35:56Het 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.
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.