mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5)

mysql_fetch_assoc --  Az eredmény egy sorát asszociatív tömbként adja vissza.

Leírás

array mysql_fetch_assoc ( resource result )

Az eredmény következő sorával, mint asszociatív tömbbel tér vissza, vagy FALSE-sal, ha nincs több sor.

A mysql_fetch_assoc() függvény hívásával ugyanazt érjük el, mintha a mysql_fetch_array() függvényt hívtuk volna meg MYSQL_ASSOC második paraméterrel. Ez a függvény egy tisztán asszociatív tömböt ad vissza. Eredetileg a mysql_fetch_array() függvény így működött. Ha a számokkal indexelt elemekre is szükséged van, akkor használd a mysql_fetch_array() függvényt.

Ha az eredmény több oszlopának ugyanaz a neve, akkor a később szereplő oszlop marad meg. Ha szeretnéd az összes mezőt elérni, akkor vagy számokkal indexszel érd el az eredményt a mysql_fetch_array() függvény használatával, vagy az SQL parancsban kérj aliast az oszlopra. Lásd még a mysql_fetch_array() függvénynél szereplő példát az aliasok leírásáért.

Jó tudni, hogy a mysql_fetch_assoc() függvény használata NEM jelentősen lassabb a mysql_fetch_row() használatánál, de a kapott eredmény feldolgozása jóval kényelmesebb.

Megjegyzés: Az ezen függvény által visszaadott mezőnevek kis-nagybetű helyesek.

Megjegyzés: A tárgyalt függvény a NULL értékű adatbázis mezőket ap PHP NULL értékével tölti fel.

Példa 1. Egy terjedelmesebb mysql_fetch_assoc() példa

<?php

$kapcsolat
= mysql_connect("localhost", "mysql_felhasznalo", "mysql_jelszo");

if (!
$kapcsolat) {
    echo
"Nem tudok csatlakozni: " . mysql_error();
    exit;
}
    
if (!
mysql_select_db("adatbazis")) {
    echo
"Nem tudok belépni az adatbázisba: " . mysql_error();
    exit;
}

$sql = "SELECT azon AS felhasznalo_azon, nev, allapot
        FROM   felhasznalok
        WHERE  allapot = 1"
;

$eredmeny = mysql_query($sql);

if (!
$eredmeny) {
    echo
"A kérés futtatása sikertelen volt: " . mysql_error();
    exit;
}

if (
mysql_num_rows($eredmeny) == 0) {
    echo
"Nincs egy sor sem, nincs mit kiírjak, ezért most kilépek";
    exit;
}

// Amíg létezik adatsor, tedd bele azt a $sor változóba, mint asszociatív tömböt.
// Megjegyzés: Ha csak egyetlen sort vársz, semmi szükség a ciklusra
// Megjegyzés: Ha beírsz egy extract($sor);-t a ciklus magjába,
//     létre lesznek hozva a $felhasznalo_azon, $nev, $allapot változók
while ($sor = mysql_fetch_assoc($eredmeny)) {
    echo
$sor["felhasznalo_azon"];
    echo
$sor["nev"];
    echo
$sor["allapot"];
}

mysql_free_result($eredmeny);

?>

Lásd még a mysql_fetch_row(), mysql_fetch_array(), mysql_data_seek(), mysql_query() és mysql_error() függvényeket.