Komm auf den Fehler nich klar

Chaosengel_Gabriel

Erfahrenes Mitglied
Also...
Mir wird folgender Fehler ausgespuckt:
Code:
Warning: Invalid argument supplied for foreach()

Der entsprechende Code:
PHP:
$sql = "SELECT
Email
FROM
User
WHERE
News = 'on'
";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
$progress->make();
$gesamt=count($row);
foreach($row['Email'] as $mail)  //Zeile in der der Fehler sein soll
{
.........
}

Ich vermute das Problem ist, dass ich $row vorher schon mit count() behandle und deswegen die Variable $row['Email'] nich richtig weiter benutzt werden kann, oder?

Wie mache ich das richtig? Kann mir da grad mal wer helfen?

THXLE :D
 
Hi,

also den Fehler hatte ich auch mal, abhilfe schuf der '=>'-Operator in der foreachklammer, also bei dir müsste das dann so hier aussehen:

PHP:
foreach($row['Email'] as $mail=>$buf)
{}

Das hats dann bei mir gebracht, weiß aber selber nicht, warum PHP die vorherige Variante nicht akzeptiert.

Gruß
cesupa
 
Hab nen ähnliches Problem mal an anderer Stelle mit nem anderen Skript gehabt, aber da war das Problem, dass die Variable, die ich mit foreach() durchlief kein korrektes Array war...
Hab das da kurz umgebaut und die Variable vorher extra noch in nen Array gepackt und dann lief das in der form wie ichs oben hab...
 
Ahh....
Ich verstehe... Danke Tobi...
Also entweder mysql_fetch_array oder while($row=mysql_fetch_assoc($result)) ...

[EDIT]

Code:
$gesamt=count($result);
while($row = mysql_fetch_assoc($result))

So is das dann wohl funktionaler... ^^
 
Zuletzt bearbeitet:
Zurück