sql >> Databasteknik >  >> RDS >> Mysql

PHP rekursiv funktion för att ta bort alla underordnade noder orsakar stackoverflow

Problemet ligger i det rekursiva anropet:

remrecurs($curitem['parent']);

det borde vara:

remrecurs($curitem['id']);

Varför?

Ditt mål är att ta bort raden med angivet id. Först kollar du om den har några barn. Om ja måste du anropa den rekursiva raderingen på vart och ett av barnen inte på föräldern igen. Du anropar funktionen rekursivt på föräldern igen..detta leder till oändliga rekursiva anrop, du slår stacken och kraschar.



  1. Optimistisk samtidighet med Entity Framework och MySQL

  2. Skapa en MySQL-vy med en automatiskt ökande id-kolumn

  3. Hur byter jag snabbt namn på en MySQL-databas (ändrar schemanamn)?

  4. De vanligaste MySQL-frågorna