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().