Fare internet

E' come il lego, più pezzi ho più sono allegro
Seguci su Facebook Seguici su Twitter Iscrivita ai nostri Feed      Mandaci una mail

Quando lanciamo una query tramite il php su un databse mysql abbiamo tre diversi modi di utilizzare il risultato ottenuto mediante le funzioni mysql_fetch_row,mysql_fetch_assoc e mysql_fetch_array.

Partiamo dalla funzione mysql_fetch_row, supponendo in ognuno dei casi di avere eseguito la query e avere il risultato nella variabile $res.

Inoltre supponiamo che la nostra query sia la seguente:
 
SELECT campo1,campo2,campo3 FROM myTab
 
Utilizzando la funzione mysql_fetch_row i risultati verranno traseferiti riga per riga in un array ordinato:

while ($row=mysql_fetch_row($res)){
     echo $row[0]; // stampa campo1
     echo $row[1]; // stampa campo2
     echo $row[2]; // stampa campo3
}

I campi sono restituiti nell’ordine in cui vengono selezionati. Il che vuol dire che se la query fosse stata:
SELECT campo2,campo1,campo3 FROM myTab
echo $row[0];
Restituirebbe campo2.

La funzione mysql_fetch_assoc inveve restituisce un array associativo i cui indici sono i nomi dei vettori:

while ($row=mysql_fetch_assoc($res)){
     echo $row[‘campo1’]; // stampa campo1
     echo $row[‘campo2’]; // stampa campo2
     echo $row[‘campo3’]; // stampa campo3
}

In questo caso non dobbiamo preoccuparci dell’ordine in cui mettiamo i campi nella query in quanto ci riferiamo a ciascun campo utilizzando il nome dello stesso (o l’alias).

La funzione mysql_fetch_array torna una array che contiene sia dei riferimenti associativi ai campi sia dei riferimenti numerici, in pratica si comporta come come mysql_fetch_row e mysql_fetch_assoc insieme.

Sempre supponendo che la query sia:
SELECT campo1,campo2,campo3 FROM myTab
Potremmo scrivere:

while ($row=mysql_fetch_array($res)){
     echo $row[‘campo1’]; // stampa campo1
     echo $row[2]; // stampa campo3
     echo $row[1]; // stampa campo2
}

La funzione mysql_fetch_array accetta un secondo parametro opzionale, il result type tale parametro può assumere 3 valori:
MYSQL_ASSOC, MYSQL_NUM e MYSQL_BOTH.
Se il parametro e MYSQL_ASSOC il risultato sarà un array associativo come in mysql_fetch_assoc, se il paramrtro è MYSQL_NUM è come se utilizzassimo mysql_fetch_assoc, se non passimao il parametro o passiamo MYSQL_BOTH il risultato è quello descritto sopra.

Sei interessato ad un corso di PHP a Roma?

Twitter