Popis
array
mysql_fetch_array ( resource výsledek [, int result_type])
Funkce vrací pole hodnot načteného záznamu nebo FALSE, není-li žádný
další řádek.
mysql_fetch_array() je rozšířenou verzí
mysql_fetch_row(). Navíc jsou zde data uložena v
poli nejen pod číselnými klíči, ale také pod asociativními textovými klíči
jmenujícími se podle názvu sloupce sql tabulky.
Pokud dva nebo více sloupců mají stejný název, bude dostupná hodnota
pouze toho posledního. Chcete-li přistupovat i k hodnotám ostatních
sloupců, musíte k nim v sql dotazu vytvořit aliasy. Název klíče sloupce, k němuž
je vytvořem alias, je vždy jméno aliasu a proto není možné použít originální
jméno sloupce v sql tabulce (viz. 'sloupec' v následujícím
příkladu).
Důležité ovšem je, že použití
mysql_fetch_array() není
nijak významně pomalejší než použití
mysql_fetch_row(), pokud je její použití přidanou
hodnotou.
Nepovinný druhý parametr result_type
v mysql_fetch_array() je komstanta, která může nabývat
následujících hodnot: MYSQL_ASSOC, MYSQL_NUM, a MYSQL_BOTH. Tato vlastnost
byla přidána v PHP 3.0.7. Výchozí hodnota je MYSQL_BOTH.
Použitím MYSQL_BOTH získáte pole s asociativními i číselnými klíči.
Použitím MYSQL_ASSOC získáte pole pouze s asociativními klíči (stejně funguje
mysql_fetch_assoc()) a použitím MYSQL_NUM, pole obsahovat
pouze číselné klíče (tak funguje mysql_fetch_row()).
Příklad 1. mysql_fetch_array s MYSQL_NUM <?php
mysql_connect("localhost", "mysql_uziv", "mysql_heslo") or
die("Nelze se spojit");
mysql_select_db("mojedb");
$result = mysql_query("SELECT id, jmeno FROM moje_table");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf ("ID: %s Jméno: %s", $row[0], $row[1]);
}
mysql_free_result($result);
?> |
|
Příklad 2. mysql_fetch_array s MYSQL_ASSOC <?php
mysql_connect("localhost", "mysql_uziv", "mysql_heslo") or
die("Nelze se spojit");
mysql_select_db("mojedb");
$result = mysql_query("SELECT id, jmeno FROM moje_table");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
printf ("ID: %s Jméno: %s", $row["id"], $row["jmeno"]);
}
mysql_free_result($result);
?> |
|
Příklad 3. mysql_fetch_array s MYSQL_BOTH <?php
mysql_connect("localhost", "mysql_uziv", "mysql_heslo") or
die("Nelze se spojit");
mysql_select_db("mojedb");
$result = mysql_query("SELECT id, jmeno FROM moje_table");
while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
printf ("ID: %s Jméno: %s", $row[0], $row["jmeno"]);
}
mysql_free_result($result);
?> |
|
Pro další detaily viz. také
mysql_fetch_row() a
mysql_fetch_assoc().