Abfrage Shcleife, die nicht endet

Alles, was PHP betrifft, kann hier besprochen werden.

Abfrage Shcleife, die nicht endet

Postby Ticha » 16. January 2009 18:45

Hi Leute

ich habe ein Problme mit einer Abfrage. Die Abfrage liest die Daten richtig aus, aber springt nicht aus der Schleife, wenn er die Tabbelle vollständig ausgelesen hat :(

ich verstehe nicht wieso, es sollte eigentlich nicht so sein :(

Code: Select all

      while ($firstQueryResult = mysql_fetch_object(mysql_query("SELECT * FROM building_inst WHERE `planet_id`='$planetId'"))){
         
          debugDebug("building", "Auslesen der Werte:" );
         
           $building_inst_id          = $firstQueryResult->id;
           debugDebug("building", "BuildingInstID : $building_inst_id" );
           
           $owner_id                = $firstQueryResult->owner_id;
           debugDebug("building", "OwnerID : $owner_id" );
           $secondQueryResult           = mysql_fetch_object(mysql_query("SELECT `player_name` FROM `player` WHERE `user_id`='$owner_id'"));
           $owner_name                = $secondQueryResult->player_name;
           debugDebug("building", "OwnerName : $owner_name " );
           
           $building_id             = $firstQueryResult->building_id;
           debugDebug("building", "BuildingID : $building_id" );
           $secondQueryResult           = mysql_fetch_object(mysql_query("SELECT * FROM `building` WHERE `id`='$building_id'"));
           $building_name             = $secondQueryResult->name;
           debugDebug("building", "BuildingName : $building_name" );
           
           $product_id                = $secondQueryResult->product_id;
           debugDebug("building", "ProductID : $product_id" );
           
           $query                   = mysql_fetch_object(mysql_query("SELECT `merchandise_id` FROM `product` WHERE `id`='$product_id'"));
         $merchandise_id              = $query->merchandise_id;
         debugDebug("building","Merchandise ID = $merchandise_id");
         
           $secondQueryResult           = mysql_fetch_object(mysql_query("SELECT `name` FROM `merchandise` WHERE `id`='$merchandise_id'"));
           $product_name             = $secondQueryResult->name;
           debugDebug("building", "ProductName : $product_name" );
           
           $ausgabe = $ausgabe.("building_inst=$building_inst_id::owner=$owner_name::buidling_type=$building_name::product=$product_name");
      
          debugDebug("building", "Ausgabe : $ausgabe" );
      
      }
      
      debugInfo("building", "$Case von $username geladen" );

      exit ($ausgabe);



versteht von euch einer wo das Problem liegt? :?:
1101011010101110100010101010101101
0101011010101110101010101111100010
0011010101111000100101010101010111
1110100011010101001010101102011001

2??? EINE 2??? AHHH ES GIBT KEINE 2!!! ES DARF KEINE 2 GEBEN !!! MEINE WELT GEHT UNTER!!! *umfall TOT*
Ticha
 
Posts: 94
Joined: 18. January 2006 14:23

Re: Abfrage Shcleife, die nicht endet

Postby glitzi85 » 16. January 2009 19:05

WTF? So hab ich auch noch nie jemand ne Endlosschleife produzieren sehen.

Sieh dir mal Beispiel 1 genau an:
http://de3.php.net/manual/en/function.m ... object.php

Bei deinem Beispiel werden die Klammern von innen nach außen aufgelöst. Das heißt, zuerst wird eine Abfrage an den MySQL-Server abgesetzt, dieses Resultat geht dann an mysql_fetch_object, welches die erste Zeile zurückgibt. Wenn die Schleife jetzt ein zweites mal durchläuft, wird wieder eine SQL Abfrage ausgelöst (die gleiche wie vorhin), das Ergebnis wird wieder an mysql_fetch_array übergeben, der Pointer ist jetzt aber wieder an erster Stelle. Sprich, es wird wieder der erste Datensatz zurückgegeben, du erreichst nie das Ende (außer die Tabelle ist leer).

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Re: Abfrage Shcleife, die nicht endet

Postby Ticha » 16. January 2009 19:16

Ja das war es :)

danke :)
1101011010101110100010101010101101
0101011010101110101010101111100010
0011010101111000100101010101010111
1110100011010101001010101102011001

2??? EINE 2??? AHHH ES GIBT KEINE 2!!! ES DARF KEINE 2 GEBEN !!! MEINE WELT GEHT UNTER!!! *umfall TOT*
Ticha
 
Posts: 94
Joined: 18. January 2006 14:23


Return to PHP

Who is online

Users browsing this forum: No registered users and 7 guests