mysql_fetch_assoc
(PHP 4 >= 4.0.3, PHP 5)
mysql_fetch_assoc --
Haal een resultaat rij op als een associatieve array
Beschrijving
array
mysql_fetch_assoc ( resource result )
Haalt een associatieve array op die correspondeert met de gehaalde rij,
of FALSE als er geen rijen meer zijn.
mysql_fetch_assoc() is equivalent met het aanroepen van
mysql_fetch_array() met MYSQL_ASSOC voor de optionele
tweede paramter. Hij geeft alleen een associatieve array terug.
Dit is de manier waarop mysql_fetch_array() oorspronkelijk
functioneerde. Als je zowel de numerieke als de associatieve indices nodig hebt,
gebruik dan mysql_fetch_array().
Als twee of meer kolommen van het resultaat dezelfde veldnaam hebben
zal de laatste kolom precedentie hebben. Om toegang te krijgen tot
de andere kolommen met dezelfde naam, moet je het resultaat verkrijgen
via numiereke indices door mysql_fetch_row() te gebruiken
of alias namen toevoegen. Zie het voorbeeld bij de mysql_fetch_array()
beschrijving over aliassen.
Belangrijk is het door te hebben dat
mysql_fetch_array() is niet
significant langzamer dan het gebruik van
mysql_fetch_row(), terwijl het een
duidelijke toegevoegde waarde heeft.
Voorbeeld 1. Een uitgebreid mysql_fetch_assoc() voorbeeld
<?php $conn = mysql_connect("localhost", "mysql_user", "mysql_password"); if (!$conn) { echo "Kan geen verbinding maken met de DB: " . mysql_error(); exit; } if (!mysql_select_db("mydbname")) { echo "Kan mydbname niet selecteren: " } $sql = "SELECT id as userid, fullname, userstatus FROM sometable WHERE userstatus = 1";
$result = mysql_query($sql);
if (!$result) { echo "Kon de query ($sql) niet uitvoeren: " . mysql_error(); exit; } if (mysql_num_rows($result) == 0) { echo "Geen rijen gevonden, niets te printen, dus stoppen."; exit; }
// Terwijl er nog een rij met data is, stop die rij in $row als een // associatieve array. Als je slechts een rij terug verwacht, hoef je // geen loop te gebruiken. Als je extract($row); binnen de volgende // loop plaatst, ontstaan $userid, $fullname en $userstatus. while ($row = mysql_fetch_assoc($result)) { echo $row["userid"]; echo $row["fullname"]; echo $row["userstatus"]; } mysql_free_result($result); ?>
|
|
Voor verdere details, zie ook
mysql_fetch_row(),
mysql_fetch_array() en
mysql_query().