I have a recursive function to process data which is organized in a tree. The
data is stored in a database.
I am using PHP 5 with MaxDB-Module 1.0
First I tried the following version of my function
function process_data($leaf) {
$sql = 'SELECT id, data FROM datatree WHERE parent='.$leaf;
if (maxdb_query($db_connection, $sql)) {
while ($row = maxdb_fetch_assoc($result)) {
use_data($row['DATA']);
// check if childs should be processed. Not always true.
if (process_childs($row['ID'])) process_data($row['ID']);
}
maxdb_free_result($result);
}
}
This results in an maxdb_query error when function is called the second time
during recursion:
function.maxdb-query: Commands out of sync. You can't use this command now.
I modified the function to use maxdb_real_query():
function process_data($leaf) {
$sql = 'SELECT id, data FROM datatree WHERE parent='.$leaf;
if (maxdb_real_query($db_connection, $sql)) {
$result = maxdb_store_result($db_connection);
while ($row = maxdb_fetch_assoc($result)) {
use_data($row['DATA']);
if (process_childs($row['ID'])) process_data($row['ID']);
}
maxdb_free_result($result);
}
}
When I execute it my Apache-Webserver hangs an I have to restart it.
Can someone show me the right way to implement the function or point me to my
mistake ??
Bye
Claus Windeler
-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/
--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]