Cruz: DBI, Rekursion, prepared statements

Beitrag lesen

Hallo Michael,

nach weiterem Kopfzerbrechen meine ich den Grund dafür gefunden zu haben warum es nicht funktioniert, allerdings habe ich noch immer keine Lösung.

Wenn ich ein prepartes Statement mit einer Variable execute, dann kriege ich ein Resultset, worüber ich mit fetchrow loopen kann.
Innerhalb des loops execute ich das selbe preparte statement nochmal und dabei schmeißt denke ich mysql das erste Resultset weg, sodaß wenn meine Rekursion wieder an die Stelle zurück kehrt, nix mehr zum loopen übrig ist. Das deckt sich sehr gut mit deiner Theorie, nur mit dem Unterschied, nicht das preparierte Statement vorrätig gehalten wird, sondern das Resultset.
Also die Frage ist, wie kann ich ein Resultset aufheben? execute() gibt leider nix gescheites zurück, womit ich auf das Resultset referenzieren könnte.
Gut ich könnte nach jedem execute erstmal komplett durchloopen und alles in einem Array festhalten, aber irgendwie drängt es mich noch zu einer eleganteren Lösung. :)

Wenn ich die Rekursion ohne Rückkehr gestalte, dann brauche ich die Rekursion gar nicht mehr. Dann ist es nur noch ein sequentielles vorgehen von Ebene zu ebene und das würde viel komplizierter enden, weil ich immer darauf achten muss, wie ich die Ergebnisse der neuen Ebene einordne, damit es optisch auch die Baumstruktur ergibt.

Ciao,
Cruz