dedlfix: Variablennamen und Wert abfragen?

Beitrag lesen

Hi!

Wie mache ich das jetzt, wenn ich das ganze aus einer MySQL-Tabelle abfrage?
$result = mysql_query($sql, $database) or die(mysql_error());
$row = mysql_fetch_assoc($result);

So bekommst du nur einen Datensatz. Willst du nur diesen oder alle?

//Funktioniert wohl nicht weil nur der erste Wert eingesetzt wird?
        $arr = array("$row['varname']" => "$row['varvalue']");

Du willst $row['varname'] verwenden, dann nimm das doch einfach so und bau es nicht noch unnötigerweise mit "" in einen String ein.

echo $arr["foo"]; // bar
        echo $arr[12];    // 1

Ohne Abfrageschleife hast du genau ein Schlüssel-Wert-Paar in $arr stehen und nicht zwei.

Wenn du also mehrere Datensätze erwartest und abfragen willst, kommt die übliche while-Schleife zum Einsatz. Davor solltest du $arr grundinitialisieren, so dass es auf alle Fälle ein Array ist, wenn auch ein leeres, wenn die Afrage keine Ergebnisse liefert:

$arr = array();
  while ($row = mysql_fetch_assoc($result))
    $arr[$row['varname']] = $row['varvalue'];

Die dritte Zeile erweitert das Array um je ein Schlüssel-Wert-Paar. Deine obige Zeile (wäre sie syntaktisch richtig notiert) würde stets ein neues Array in $arr ablegen. Und wenn es COnfig-Werte sind solltest du es vielleicht eher $config statt $arr nennen.

Lo!