Forum und email

mysql_fetch_array

(PHP 4, PHP 5, PECL mysql:1.0)

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

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

Example#1 Kérés két azonos nevű mezővel

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

Example#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($eredmenyMYSQL_NUM)) {
    
printf("Azonosító: %s  Név: %s"$sor[0], $sor[1]);  
}

mysql_free_result($eredmeny);
?>

Example#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($eredmenyMYSQL_ASSOC)) {
    
printf("Azonosító: %s  Név: %s"$sor["azon"], $sor["nev"]);
}

mysql_free_result($eredmeny);
?>

Example#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($eredmenyMYSQL_BOTH)) {
    
printf("Azonosító: %s  Név: %s"$sor[0], $sor["nev"]);
}

mysql_free_result($eredmeny);
?>

Megjegyzések

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

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.