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