Sven Rautenberg: mysql_query --> list()=each() : Was mach ich falsch

Beitrag lesen

Aloha, Michael!

while ($attacke = mysql_fetch_array($typtxt))
Die Funktion mysql_fetch_array gibt dir einen Hash.

wirklich?
Nicht vielleicht eine Referenz auf einen Hash?
Denn einen ganzen Hash in einem Skalar zu speichern,
das könnte etwas kompliziert werden ...

Wir sind hier im Gebiete von PHP - da heißen alle Variablen mit Vornamen "$", egal welchen "Beruf" sie haben. Das mag für Perl-Puristen befremdlich erscheinen, ist aber meiner Meinung nach durchaus vernünftig und eine Hemmschwelle weniger für die Allgemeinheit.

Du hast zwar den Nachteil, daß du die Hash-Variable
nicht direkt in Stringausgaben einbauen kannst,

Wieso nicht? Am Hash selbst kann es nicht liegen ...
höchstens an der Adressierung über die Referenz.

Weil man nicht sowas machen kann:
echo "Das ist der Inhalt von $attacke.";
ergibt
Das ist der Inhalt von array.

Ein einzelnes Element ausgeben (was man bei Arrays/Hashes ja eher möchte):
echo "Das ist der Inhalt von $attacke['schluessel'].";
ergibt einen Fehler. Es muß so heißen:
echo "Das ist der Inhalt von " . $attacke['schluessel'] . ".";

Etwas nervig, aber Gewöhnungssache.

- Sven Rautenberg