mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5)

mysql_fetch_assoc --  Carica una riga del risultato come array associativo

Descrizione

array mysql_fetch_assoc ( resource risultato)

Restituisce un array associativo che corrisponde alla riga caricata o FALSE se non ci sono più righe.

mysql_fetch_assoc() è equivalente alla chiamata di mysql_fetch_array() con MYSQL_ASSOC come secondo parametro opzionale. Questa restituisce solo un array associativo. Questo è il modo incui mysql_fetch_array() funzionava originalmente. Se è necessario l'indice numerico al posto di quello associativo, usare mysql_fetch_array().

Se due o più colonne del risultato hanno gli stessi nomi di campo, l'ultima colonna avrà la precedenza. Per accedere alle altre colonne con lo stesso nome, si deve accedere al risultato con l'indice numerico usando mysql_fetch_row() oppure aggiunger degli alias. Vedere l'esempio nella descrizione di mysql_fetch_array() per quanto concerne gli alias.

Una cosa importante da notare è che l'uso di mysql_fetch_assoc() non è significativamente più lento dell'uso di mysql_fetch_row(); questo fornisce un significativo valore aggiunto.

Esempio 1. Un esteso esempio di mysql_fetch_assoc()

<?php

    $conn
= mysql_connect("localhost", "utente_mysql", "password_mysql");

    if (!
$conn) {
        echo
"Impossibile connettersi al DB: " . mysql_error();
        exit;
    }

    if (!
mysql_select_db("mio_nome_db")) {
        echo
"Impossibile selezioanre mio_nome_db: " . mysql_error();
        exit;
    }

    
$sql = "SELECT id as id_utente, nome_intero, stato_utente
            FROM   una_tabella
            WHERE  stato_utente = 1"
;

    
$risultato = mysql_query($sql);

    if (!
$risultato) {
        echo
"Fallimento nell'esecuzione della query ($sql) dal DB: " . mysql_error();
        exit;
    }

    if (
mysql_num_rows($risultato) == 0) {
        echo
"Nessuna riga trovata, niente da stampare quindi si esce";
        exit;
    }

    
// Finché esiste una riga di dati, si pone questa riga in $riga come un array associativo
    // Nota: Se ci si aspetta solo una riga, non è necessario usare un ciclo
    // Nota: Se si mette extract($riga); all'interno del seguente ciclo,
    //       si creeranno $id_utente, $nome_intero, and $stato_utente
    
while ($riga = mysql_fetch_assoc($risultato)) {
        echo
$riga["id_utente"];
        echo
$riga["nome_intero"];
        echo
$riga["stato_utente"];
    }

    
mysql_free_result($risultato);

?>

Vedere anche mysql_fetch_row(), mysql_fetch_array(), mysql_query() e mysql_error().