Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Função recursiva PHP para excluir todos os nós filhos causa stackoverflow


O problema está na chamada recursiva:
remrecurs($curitem['parent']);

deveria ser:
remrecurs($curitem['id']);

Por quê?

Seu objetivo é excluir a linha com o ID fornecido. Primeiro você verifica se ele tem filhos. Se sim, você precisa chamar a exclusão recursiva em cada um dos filhos não no pai novamente. Você está chamando a função recursivamente no pai novamente... isso leva a infinitas chamadas recursivas, você destrói a pilha e trava.