Si può riutilizzare una serie di risultati di MySQL in PHP?
-
08-10-2019 - |
Domanda
Ho un set di risultati tiro da un database di grandi dimensioni:
$result = mysql_query($sql);
I ciclo tramite questo recordset volta tirare specifici bit di dati e ricevere medie usando while($row = mysql_fetch_array($result))
. Più tardi nella pagina, voglio collegare attraverso questo stesso set di record di nuovo e di uscita tutto - ma perché ho usato il set di record precedente, il mio secondo ciclo ritorna nulla.
I finalmente violato intorno a questo ciclo attraverso un secondo recordset identico ($result2 = mysql_query($sql);
), ma odio per fare la stessa chiamata SQL due volte. Un modo per ciclo attraverso lo stesso set di dati più volte?
Soluzione
Usa:
mysql_data_seek($result, 0);
Si ottiene questo "libero", dal momento che è già tamponato.
Come nota a parte, si può fare in modo esplicito una query unbuffered con mysql_unbuffered_query
.
Altri suggerimenti
cursori è possibile ottenere questo approccio