Originariamente inviato da lurulu
Ma in quali situazioni conviene usare assoc, fetch_array o fetch_object??
Per esempio se devo estrarre un solo record mi conviene fetch_assoc??
mysql_fetch_assoc() è la stessa cosa che mysql_fetch_array() con MYSQL_ASSOC come secondo parametro opzionale.

Come ho detto prima se usi mysql_fetch_array($riga) senza specificare il 2° parametro allora ti da un array sia associativo che numerico.
Se ad es. la tua riga di tabella ha 2 campi: id e nome

array associativo vuol dire che l'indice dell'array è il nome del campo, quindi $riga['id'] per accedere ad id.

array numerico vuol dire che l'indice dell'array è la posizione del campo nell'ordine con cui tu li hai letti dal DB. Quindi se la tua select era SELECT id, nome .........

allora $riga[0] prende il campo id

Se la tua select fosse stata SELECT nome, id ......... allora $riga[0] identificava il campo nome.

E' ovvio che se tu usi la dicitura $riga['id'] puoi usare mysql_fetc_assoc oppure mysql_fetch_array($riga, MYSQL_ASSOC)

in tal modo risparmi memoria e guadagni qualcosina in terrmini di prestazioni.


fetch_object restituisce un oggetto e la sua gestione è sicuramente + complessa rispetto ad un array. Quindi secondo me conviene sempre mysql_fetch_assoc a meno che non si vuole adottare uno stile di programmazione orientato ad oggetti.

Stiamo comunque parlando di tempi molto irrisori quindi puoi usare indifferentemente fetch_assoc o fetch_object.


Per mysqli , ho letto che è un'estensione del php 5 però purtroppo sono su hosting aruba che se non sbaglio ha installato php 4.4 e qualcosa..
Hai ragione, pazienza! Non ti resta ke aspettare ke arubi aggiorni la versione di php.