sql >> Databáze >  >> RDS >> Mysql

Rekurzivní funkce PHP k odstranění všech podřízených uzlů způsobuje přetečení zásobníku

Problém je v rekurzivním volání:

remrecurs($curitem['parent']);

mělo by to být:

remrecurs($curitem['id']);

Proč?

Vaším cílem je smazat řádek s daným ID. Nejprve zkontrolujte, zda má nějaké děti. Pokud ano, musíte zavolat rekurzivní odstranění u každého z dětí už ne na rodiče. Znovu voláte funkci rekurzivně na rodiči. To vede k nekonečným rekurzivním voláním, rozbijete zásobník a zhroutíte se.



  1. Připojení MySQL k Visual Studiu C#

  2. MySQL:#1075 - Nesprávná definice tabulky; autoinkrement vs jiný klíč?

  3. Syntaxe MYSQL se nevyhodnocuje, není rovna v přítomnosti NULL

  4. Jaký je dobrý přístup ke správě připojení db v aplikaci Google Cloud SQL (GAE) Python?