Forum und email

mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5, PECL mysql:1.0)

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, és a belső adatpointert a sor elejére állítja.

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.

Paraméterek

result

A feldolgozandó eredményhalmaz erőforrás. Ez az eredményhalmaz egy mysql_query() hívás eredményeként kellett létrejöjjön.

Visszatérési értékek

Visszaad egy asszociatív tömböt amely megfelel a következő sornak, ha viszont nincs több sor, akkor FALSE-ot ad vissza.

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.

Példák

Example#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);

?>

Megjegyzések

Note: Hatékonyság Jó tudni, hogy a mysql_fetch_assoc() függvény nem jelentősen lassabb a mysql_fetch_row() függvénynél, de a kapott eredmény feldolgozása jóval kényelmesebb.

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

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