Mailinglisten-Archive |
> > > $result = mysql_query("SELECT * FROM sys_variablen"); > > $row = mysql_fetch_assoc($result); > > foreach ($row AS $varname => $varvalue) { > > $GLOBALS[$varname] = $varvalue; > > } > wieso hier mysql_fetch_assoc() und nicht mysql_fetch_array() oder > _row()? > Weil damit habe ich es versucht ... was ist der entscheidende > Unterschied? > assoc macht aus dem Datensatz ein assoziatives Array. Das heißt ein Array, welches dir assoziative Indizes (Strings), also in dem Fall hier die Namen der Attribute (Tabellenspalte) liefert. Unterschied zu _array(): Das liefert Dir standardmäßig sowohl Zahl-indizes als auch die assoziativen (MYSQL_BOTH). Kann aber auch wie _assoc() (MYSQL_ASSOC) oder nur Zahlen (MYSQL_NUM) als Indizes liefern. Unterschied zu _row(): Die _array() und _assoc() bauen auf dieser Funktion auf. Aber... Zitat aus dem Manual: "Zu betonen ist, dass der Gebrauch von mysql_fetch_array() nicht signifikant langsamer ist als mysql_fetch_row(), obwohl die Funktion einen sichtlichen Mehrwert bietet." Liefert Ergebnis wie _array() mit Ergebnistyp-Konstante MYSQL_NUM. Wichtig für Dich ist, dass Du die Spaltennamen als Variablennamen erhältst (Zahlen sind als erstes und damit als alleinige(s) Zeichen für Variablen in PHP afaik ja nicht zulässig). Deshalb ist _array() mit Ergebnistyp-Konstante MYSQL_ASSOC oder halt _assoc() zu benutzen. Gruß Dennis
php::bar PHP Wiki - Listenarchive