mysql_fetch_array

(PHP 3, PHP 4, PHP 5)

mysql_fetch_array -- Kérés egy sorát adja vissza (tetszőleges) tömb formájában

Leírás

array mysql_fetch_array ( resource result [, int result_type] )

Az eredmény következő sorával tér vissza tömb formájában.

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.

result_type

A visszaadott tömb típusa. Az allábbi konstansok értékét veheti fel: MYSQL_ASSOC, MYSQL_NUM, az alapértelmezett értéke pedig MYSQL_BOTH.

Visszatérési értékek

Egy tömböt ad vissza, amely a következő sornak felel meg, ha pedig nincs több sor, akkor FALSE-ot. A visszaadott tömb típusa a result_type paraméter értékétől függ. Ha az alapértelmezett MYSQL_BOTH-ot használod, akkor egy olyan tömböt kapsz, amelynek asszociatív és szám indexe is van. MYSQL_ASSOC-ot használva csak asszociatív indexet kapsz (ahogyan mysql_fetch_assoc() adná vissza), ha pedig MYSQL_NUM-ot adsz meg, akkor csak számokkal lesz indexelve a tömb (mint mysql_fetch_row() használata esetén).

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 ilyenkor is, akkor számmal indexeld a tömböt, vagy az SQL parancsban kérj aliast (álnevet) az oszlopra. Az álnévvel hivatkozott oszlopok tartalmát nem tudod az oszlopok eredeti nevével elérni.

Példák

Példa 1. Kérés két azonos nevű mezővel

SELECT tabla1.mezo AS ize tabla2.mezo AS bigyo FROM tabla1, tabla2

Példa 2. mysql_fetch_array() MYSQL_NUM-mal

<?php
mysql_connect
("localhost", "mysql_felhasznalo", "mysql_jelszo") or
    die(
"Kapcsolódás sikertelen: " . mysql_error());
mysql_select_db("adatbazis");

$eredmeny = mysql_query("SELECT azon, nev FROM tabla");

while (
$sor = mysql_fetch_array($eredmeny, MYSQL_NUM)) {
    
printf("Azonosító: %s  Név: %s", $sor[0], $sor[1]);  
}

mysql_free_result($eredmeny);
?>

Példa 3. mysql_fetch_array() MYSQL_ASSOC-al

<?php
mysql_connect
("localhost", "mysql_felhasznalo", "mysql_jelszo") or
    die(
"Kapcsolódás sikertelen: " . mysql_error());
mysql_select_db("adatbazis");

$eredmeny = mysql_query("SELECT azon, nev FROM tabla");

while (
$sor = mysql_fetch_array($eredmeny, MYSQL_ASSOC)) {
    
printf("Azonosító: %s  Név: %s", $sor["azon"], $sor["nev"]);
}

mysql_free_result($eredmeny);
?>

Példa 4. mysql_fetch_array() MYSQL_BOTH-al

<?php
mysql_connect
("localhost", "mysql_felhasznalo", "mysql_jelszo") or
    die(
"Kapcsolódás sikertelen: " . mysql_error());
mysql_select_db("adatbazis");

$eredmeny = mysql_query("SELECT azon, nev FROM tabla");

while (
$sor = mysql_fetch_array($eredmeny, MYSQL_BOTH)) {
    
printf("Azonosító: %s  Név: %s", $sor[0], $sor["nev"]);
}

mysql_free_result($eredmeny);
?>

Megjegyzések

Hatékonyság: Jó tudni, hogy a mysql_fetch_array() 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.

Lásd még

mysql_fetch_row()
mysql_fetch_assoc()
mysql_data_seek()
mysql_query()