Warning: Unable to jump to row 0 on MySQL result index 4

Lapachon

Mitglied
Hi!

Was habe ich da falsch gemacht? Ich hab keine Ahnung wie ich das Problem lösen könnte.

Hier der Fehler:

Warning: Unable to jump to row 0 on MySQL result index 4 in e:\sbx\sozialministerium_elek.survey\admin\admin_survey.php on line 48

Warning: Unable to jump to row 0 on MySQL result index 4 in e:\sbx\sozialministerium_elek.survey\admin\admin_survey.php on line 49

Und hier der Sourceabschnitt wo der Fehler auftritt.

Code:
<?
for ($i=0; $i< $num; $i++) {
	$res       						= mysql_query("SELECT * FROM fragebogen_ooe WHERE survey_id = '$survey_id'");
	$num       						= mysql_num_rows($res);
	$survey_id   					= mysql_result($res, $i, "survey_id");
	$b1_firmenname   			= mysql_result($res, $i, "b1_firmenname");

   }
?>

$survey_id = mysql_result($res, $i, "survey_id");
$b1_firmenname = mysql_result($res, $i, "b1_firmenname");

Das sind die zwei betreffenden Zeilen, wo der Fehler auftritt.

LG

Lapachon
 
Wenn das SQL-Statement keine Daten zurück liefert, dann kann auch nicht auf
den ersten Datensatz zugegeriffen werden. Beim ersten Schleifendurchlauf ist
$survey_id wahrscheinlich leer, so dass kein entsprechender Datensatz in der
Tabelle gefunden wird.

snuu
 
PHP:
mysql_query("SELECT * FROM fragebogen_ooe WHERE survey_id = '$survey_id'");

Es gibt scheinbar keine Survey mit der survey_id welche du dort abfragst ^^
 
Dein bisheriger Code endet sowieso in einer Endlosschleife. Selbst wenn die erste Abfrage einen Datensatz zurück bibt, dann liest Du diese survey-ID ein und verwendest sie zum Filtern der nächsten Abfrage. Demzufolge werden in der nächsten Abfrage wieder die gleichen Datensätze zurückgegeben, wie zuvor. Und so weiter. Dein Code ist logisch nicht korrekt. Also müsstest Du schon sagen, was der Codeabschnitt eigentlich bezwecken sollte.

snuu
 
Ich will eine Seite basteln, mit der ich Umfragen die andere Leute eingegeben haben, editieren kann. Also als value habe ich die Variablen, und dann lass ich einen updatequry drüberlaufen.
 
Zurück