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!