mysql_fetch_assoc
]Podporované v PHP 4 >= 4.0.3, PHP 5, PECL mysql:1.0 PHP -> Funkcie -> MySQL funkcie PHP -> mysql_fetch_assoc
Syntax
array mysql_fetch_assoc ( resource $result )
Popis
Príkaz jazyka PHP
Funkcia vracia asociatívne pole hodnôt vráteného záznamu alebo FALSE, ak nie je žiadny ďalší záznam.
mysql_fetch_assoc je ekvivalentom k mysql_fetch_array s nepovinným druhým parametrom MYSQL_ASSOC, čo vracia len asociatívne pole. Ak potrebujete používať číselné indexy spolu s asociatívnym, použite mysql_fetch_array.
Ak dva alebo viac stĺpcov majú rovnaký názov, bude dostupná hodnota len toho posledného. Ak chcete pristupovať i k hodnotám ostatných stĺpcov, musíte k nim v sql dotazu vytvoriť aliasy. Názov kľúča stĺpca, ku ktorému je výtvorom alias, je vždy meno aliasu a preto nie je možné použiť originálne meno stĺpca v sql tabuľke. Pozrite sa na vysvetlenie používania aliasov v príklade u mysql_fetch_array.
Dôležité však je, že použitie mysql_fetch_assoc nie je nijako výrazne pomalšie ako použitie mysql_fetch_row, ak je jej použitie pridanou hodnotou.
Príklad
<?php
$conn = mysql_connect
("localhost",
"mysql_user",
"mysql_password");
if (!
$conn) {
echo "Nelze se spojit s DB: " .
mysql_error();
exit;
}
if (!mysql_select_db
("mydbname")) {
echo "Nelze vybrat mydbname: " .
mysql_error();
exit;
}
$sql =
"SELECT id as userid, fullname, userstatus
FROM sometable
WHERE userstatus = 1";
$result = mysql_query
($sql);
if (!
$result) {
echo "Zpracování dotazu nebylo úspěšné ($sql) na DB: " .
mysql_error();
exit;
}
if (mysql_num_rows
($result) == 0
) {
echo "Nenalezeny žádné řádky, nic k zobrazení, takže končím.";
exit;
}
// Pokud nějaké záznamy dat existují, vlozží každý záznam do asociativního pole $row.
// Tip: Očekáváte-li pouze jeden záznam, můžete vynechat smyčku.
// Tip: Přidáte-li do následující smyčky extract($row);, vytvoří se rovnou proměnné $userid, $fullname a $userstatus
while ($row =
mysql_fetch_assoc($result)) {
echo $row[
"userid"];
echo $row[
"fullname"];
echo $row[
"userstatus"];
}
mysql_free_result($result);
?>
Pozri aj
mysql_fetch_row, mysql_fetch_array, mysql_query, mysql_error
]