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
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($eredmeny, MYSQL_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($eredmeny, MYSQL_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($eredmeny, MYSQL_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.