Det afhænger af hvilken database du bruger og din databasekonfiguration.
For MySQL skal du sørge for at bruge bufferforespørgsler. I PDO indstiller du det således:
$myPdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
Det betyder, at alle data vil blive sendt til klienten (ikke det samme som at hente det hele i PHP).
Det andet (sandsynligvis værre) alternativ er at åbne en ny databaseforbindelse, hver gang du opdager, at en forespørgsel køres med et resultatsæt stadig åbent.
Den normale mysql_query()
bruger en bufferforespørgsel, så det vil fungere med flere resultatsæt.