$query = "select * from utenti where id_utente >1000";


$result = mysql_query($query, $db);

while ($row = mysql_fetch_array($result))
...

Vorrei capire cosa succede; io provo a descrivere delle ipotesi usando dei termini poco tecnici ma forse piu' esplicativi

mysql_query() secondo definizione restituisce un identificativo di risorsa; cio' significa:

a) all'interno del db vengono presi tutti i dati degli utenti che hanno id_utente >1000 e vengono stivati in un'area del db e appunto c'è un identificativo di quell'area; da codice poi attraverso quell'identificativo vengono pescati i dati riga per riga
diciamo che quindi che viene usata la memoria del db e ogni volta (all'interno del ciclo) il codice tramite l'identificativo pesca i dati dal db

b) tutti i dati vengono pescati e messi in una variabile php (per variabile intendo uno spazio che php riserva a questi dati, non so bene in che termini); c'è un identificativo di quella variabile e per il resto funziona come al punto a. insomma il "rapporto con il db" termina subito perchè tutti i dati vengono prelevati con l'istruzione mysql_query.

c) nessuna delle 2 precedenti; a questo punto gradirei capire meglio grazie. (dovendo indovinare direi a)