Ik vroeg mij af of er verschil in snelheid zat, en zoja, hoeveel tussen de volgende 2 constructies.

$result = mysql_query("SELECT `id` FROM `tabel1` WHERE `parent`=" . addslashes($_GET['cat']));
while($row = mysql_fetch_assoc($result)){

$result2 = mysql_query("SELECT `id` FROM `tabel1` WHERE `parent`=" . $row['id']);
while($row2 = mysql_fetch_assoc($result2)){

#doe iets

}

}

of

$array = array();
$result = mysql_query("SELECT `id` FROM `tabel1` WHERE `parent`=" . addslashes($_GET['cat']));
while($row[] = mysql_fetch_assoc($result)){

$array[] = $row[count($row) - 1]['id']

}
$result2 = mysql_query("SELECT `id` FROM `tabel1` WHERE `parent` IN(" . implode(', ', $array[]) . ")");
while($row2 = mysql_fetch_assoc($result2)){

#doe iets

}

En het is al gezegd, het gaat problemen opleveren! Je kunt namelijk zonder enig probleem (!) foute kolomnamen e.d. gaan gebruiken. 0,1,2 etc. zijn gewoon toegestaan, net zoals mijn-voornaam. Ga je nu echter fetchen met bv. mysql_fetch_array() of mysql_fetch_object(), dan gaat dit hopeloos fout. Je hebt geen idee welke gegevens je nu op het scherm aan het zetten bent, waar de foutmeldingen vandaan komen, etc. etc. Het slaat echt helemaal nergens op!

Tevens krijg je nu de mogelijkheid om extra tikfouten te maken, backtic vergeten, wat ook niet echt bevordelijk is voor de productiviteit. Of je moet per karakter worden betaald in het kader van 'Meer == beter'.

Kortom, gooi die zooi weg en vergeet dat je het ooit hebt gebruikt. Je hebt het NOOIT nodig, tenzij je problemen wilt hebben.
Bedankt, gelukkig dat ik mn queries laat maken door mn objecten.

Reageren