Falsche IF Abfrage ?

Don Stefano

Erfahrenes Mitglied
Hallo again,

ich hab jetzt stundenlang an einem Problem gewerkelt, dass ich mir einfach nicht erklären kann.

Ich habe eine Art Steuerdatei, die die Vorgabe von Befragungen regelt. Diese Datei includet dann verschiedene andere Dateien. U.a. eine, die das Speichern von Ergebnissen einer Befragung ermöglichen soll. Und eine andere, die die eigentlichen Fragen der Befragung vorgibt.

Die folgende Abfragenverschachtelung in der Datei, die zum speichern der Eingaben dient, scheint durchaus auch zu funktionieren (zumindest wird in die Datenbank geschrieben, was soll.)

Das Ganze soll aber nur geschehen, wenn der zaehler=1 ist (also nur beim ersten includen dieser Seite). Daher steht alles in einem IF () {} Block...


PHP:
//Überprüfen, ob ein Eintrag "benutzerid" bereits fuer den Teilnehmer existiert: num_rows>0 heisst hier "existiert schon".
     //Existiert er nicht, soll er angelegt werden.
     
     IF ($zaehler = 1) {
     
     	$result = $db->query("select * from $ergebnis where besitzerid='$besitzerID'");
   	   if ($db->errno) die("Fehler beim Anlegen des Benutzers.");
     			 if (!$result->num_rows>0) {
 			 $db->query("insert into $ergebnis (besitzerID) values('$besitzerID')");
 			 	 if ($db->errno) die("Fehler beim Anlegen des Benutzers.");
 					 $db->close();
 												 }
   					 }


Nun habe ich nach dem Einbinden dieser Speicher-Datei, dass Problem, dass sich der Zaehler, der in der Frage-Vorgabedatei erhöht wird nicht mehr verändert. Dieser bleibt bei 1 oder 2 stehen, was dazu führt, dass immer die gleiche Frage vorgegeben wird..

Entferne ich aus dem obigen Code aber die "IF ($zaehler = 1) {}" Abfrage, in die alles eingebettet ist, und lasse nur den Rest stehen, läuft alles einwandfrei.

Wie kann eine solche IF Abfrage (siehe Code) Einfluss ausüben, auf die Inkrementierung des Zaehlers auf einer anderen Seite (bzw. im Anschluss)

Ich verstehe es nicht im Geringsten. Sieht jemand von euch einen Fehler in dieser Abfragesyntax bzw. hat eine Erklärung für dieses Phänomen ?
 
Probier es mal hiermit:
PHP:
if ($zaehler==1)
$zaehler=1, ob mit if davor oder ohne, setzt die Variable $zaehler auf 1, das == ist ein Vergleich, also genau das was Du hier brauchst.
 
Au Mann ...

Habs zwar noch nicht geändert aber das wirds wohl logischerweise sein. Weia kann man doch immer wieder doofe Fehler machen und dann blind stundenlang davor sitzten ...

Danke fürs wache Auge ;-)

Don
 
Naja, kommt schonmal vor.
Was mir am haeufigsten passiert ist, dass ich beim Tippen das $ vor dem Variablennamen vergesse und mir dann 'ne Fehlermeldung dafuer einfange.
Und das schoene daran ist, dass die meist was von wegen "unexpected [" oder sowas kommt.
 
reptiler hat gesagt.:
unexpected [" oder sowas kommt.

unexpectet T-String oder so müsste da kommen ^^ das passiert mir auch dauernd...
oder n ) vergessen... das hatte ich heute. Tip: setzt mal wen anders kurz davor, der findet sowas meistens gleich - auch wenn derjenige nur ein wenig Ahnung von der Sache hat - weil er den code genauer liest, wie der coder selbst, der ihn ja (glaubt) zu kennen, weil selber geschrieben und deshalb nur überfliegt.
 
Zurück