mysql_fetch_assoc
(PHP 4 >= 4.0.3, PHP 5)
mysql_fetch_assoc --
Načte výsledný řádek do asociativního pole
Popis
array
mysql_fetch_assoc ( resource výsledek )
Funkce vrací asociativní pole hodnot vráceného záznamu nebo FALSE,
není-li žádný další záznam.
mysql_fetch_assoc() je akvalentem k
mysql_fetch_array() s nepovinným druhým parametrem
MYSQL_ASSOC, což vrací pouze asociativní pole. Pokud potřebujete používat
číselné indexy spolu s asociativními, použijte mysql_fetch_array().
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. Podívejte se na vysvětlení použití aliasů v
příkladu u mysql_fetch_array().
Důležité ovšem je, že použití
mysql_fetch_assoc() není
nijak významně pomalejší než použití
mysql_fetch_row(), pokud je její použití přidanou
hodnotou.
Příklad 1. Rozšířený příklad mysql_fetch_assoc()
<?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);
?>
|
|
Pro další detaily viz. také
mysql_fetch_row(),
mysql_fetch_array(),
mysql_query() a
mysql_error().