Hallo,
Warning: unserialize() expects parameter 1 to be string, array given in /users/benedikt86/www/imke/fragebogen/auswertung.php on line 30
Warning: array_push() expects parameter 1 to be array, boolean given in /users/benedikt86/www/imke/fragebogen/auswertung.php on line 29
dann sollte man sich anschauen, was in Zeile 29 und 30 steht.
Das Problem hängt sicherlich mit dem unserialize zusammen
<quote author="Loriot">Ach. Ach was.</quote>
$antwort = array();
$f1=0;
$sql = "SELECTantwort
FROMfragebogen
WHERE iid = '$id'";
$sql2 = "SELECTwert
FROMantwort
WHERE aid='$antwort'";$ergebnis = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_object($ergebnis))
{
array_push($antwort,$row->antwort);
$antwort = unserialize($antwort);$wert = mysql_query($sql2) or die(mysql_error()); $f1=$f1+$wert;
}
?>
Gehen wir logisch vor. Die erste Meldung betrifft das unserialize() in Zeile 30. PHP beschwert sich, dass [unserialize()](http://de1.php.net/manual/en/function.unserialize.php) einen String als Parameter sehen will, $antwort hast du aber als leeres Array definiert und ihm eine Zeile vorher gerade den ersten Arrayeintrag spendiert. Als Folge gibt unserialize() FALSE zurück, das gesamte Array $antwort wird also mit einem schlichten FALSE überschrieben.
Logisch, dass sich im nächsten Schleifendurchlauf [array_push()](http://de1.php.net/manual/en/function.array-push.php) beklagt, weil es als ersten Parameter ein Array erwartet, aber ein boolsches FALSE bekommt.
Ich verstehe nicht, was der gezeigte Codeausschnitt tun \*soll\*, aber anscheinend steckt ein gravierender Denkfehler dahinter.
So long,
Martin
--
Wenn man sieht, was der liebe Gott auf der Erde so alles zulässt, hat man das Gefühl, er experimentiert immer noch.
(Sir Peter Ustinov, Charakterdarsteller, †2004)
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(