mysql_fetch_row () vs mysql_fetch_assoc () vs mysql_fetch_array ()

Possibile duplicato:
mysql_fetch_array, mysql_fetch_assoc, mysql_fetch_object

Voglio una funzione che può restituire campi nella riga corrente di un set di risultati in un array associativo e sposta il puntatore del risultato nella riga successiva.

Confuso tra

mysql_fetch_row() mysql_fetch_assoc() mysql_fetch_array() 

Quale dovrei usare? Qualsiasi aiuto sarebbe apprezzato. Grazie.

Nota : l’uso delle funzioni mysql_* è considerato deprecato e dovresti invece usare qualcosa che offra una sicurezza migliore e più funzionalità, come MySQLi o PDO .

Che cos’è?

Stai cercando mysql_fetch_assoc , poiché il nome implica che restituirà un array associativo (con i nomi delle colonne come chiavi e i valori come valori di riga).


Quale sarà il ritorno delle diverse funzioni?

Tutte le funzioni menzionate restituiranno un array, le differenze tra loro sono i valori che vengono utilizzati come chiavi nell’object restituito.

  • mysql_fetch_row

    Questa funzione restituirà una riga in cui i valori arriveranno nell’ordine così come sono definiti nella query SQL e le chiavi si estenderanno da 0 a una in meno rispetto al numero di colonne selezionate.

  • mysql_fetch_assoc

    Questa funzione restituirà una riga come array associativo in cui i nomi delle colonne saranno le chiavi che memorizzano il valore corrispondente.

  • mysql_fetch_array

    Questa funzione restituirà un array con entrambi i contenuti di mysql_fetch_row e mysql_fetch_assoc uniti in uno solo. Avrà sia tasti numerici che stringhe che ti permetteranno di accedere ai tuoi dati in qualunque modo tu possa trovare più facile.

    Si consiglia di usare comunque _assoc o _row .

mysql_fetch_assoc quando si fa manualmente riferimento ai campi.

mysql_fetch_row quando lo si utilizza come parte di un list($a,$b,$c...) = ...

Mai mysql_fetch_array .

mysql_fetch_assoc ()

Supponi che la tua tabella abbia due colonne id e nome. Puoi utilizzare il seguente snippet:

 while ($row = mysql_fetch_assoc($result)) { echo $row["id"]; echo $row["name"]; }