sql >> Base de Datos >  >> RDS >> Mysql

La función recursiva de PHP para eliminar todos los nodos secundarios provoca un desbordamiento de pila

El problema está en la llamada recursiva:

remrecurs($curitem['parent']);

debería ser:

remrecurs($curitem['id']);

¿Por qué?

Su objetivo es eliminar la fila con la identificación dada. Primero se comprueba si tiene hijos. En caso afirmativo, debe llamar a la eliminación recursiva en cada uno de los hijos no en el padre de nuevo. Estás llamando a la función de forma recursiva en el elemento principal de nuevo... esto lleva a infinitas llamadas recursivas, golpeas la pila y fallas.