Mysql
 sql >> Database >  >> RDS >> Mysql

while ($riga =mysql_fetch_array($risultato)) - quanti loop vengono eseguiti?

No. mysql_fetch_array restituisce semplicemente la riga successiva del risultato e fa avanzare il puntatore interno. Non va in loop. (Internamente può o non può usare qualche loop da qualche parte, ma è irrilevante.)

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

Questo fa quanto segue:

  1. mysql_fetch_array recupera e restituisce la riga successiva
  2. la riga è assegnata a $row
  3. l'espressione viene valutata e se restituisce true , i contenuti del ciclo vengono eseguiti
  4. la procedura ricomincia

Questo fa quanto segue:

  1. mysql_fetch_array recupera e restituisce la riga successiva
  2. la riga è assegnata a $row
  3. foreach scorre il contenuto dell'array ed esegue il contenuto del ciclo tante volte quante sono le voci nell'array

In entrambi i casi mysql_fetch_array fa esattamente la stessa cosa. Hai solo tanti loop quanti ne scrivi. Entrambi i costrutti non fanno la stessa cosa però. Il secondo agirà solo su una riga del risultato, mentre il primo scorrerà su tutte le righe.