Seite 1 von 2

FirefoxAbsturz bei Datenbankzugriff

Verfasst: Do Jun 24, 2010 6:01 pm
von naums
es handelt sich um folgendes Codestück:

Code: Alles auswählen

      $query="SELECT max(id) FROM `guestbook`";
      $abfrage=$db->query($query, MYSQLI_STORE_RESULT);
      $res=$abfrage->fetch_assoc();
  
      $maxID=$res["max(id)"];
  
      $sites=ceil($maxID/10);
      $pagescount=1;
  
      echo('<center>');
      while ($pagescount<=$sites)
      {
          if ($pagescount=$site)
	      {
	          echo('<A href="index.php?position=guestbook&site='.$pagescount.'"> ['.$pagescount.'] </A>');
	      }
	      else
	      {
	          echo('<A href="index.php?position=guestbook&site='.$pagescount.'"> '.$pagescount.' </A>');
	      };
	      $pagescount++;
      };
      echo('</center><BR />');
  
      if ($site<=$sites)
      {
          $eintrag=$site-1;
		  $siteMAX=$site*10;
          $a=0; $b=0;
	      echo('<TABLE width="100%">');
          while ($a<=10 and $eintrag.$a<=$siteMAX and $eintrag.$a<$maxID)
          {
              $a++; $b++;
	          $query="SELECT id, name, entry, date FROM `guestbook` WHERE `id`=".$eintrag.$a." ORDER BY `id` ASC";
		      $abfrage=$db->query($query, MYSQLI_STORE_RESULT);
		      $res=$abfrage->fetch_assoc();
		  
		      if ($b==1)
		      {
		          echo('<TR><TD width="90%">');
		      }
		      else 
		      {
		          $b=0;
		    	  echo('<TR bgcolor="#cccccc"><TD width="90%">');
		      };
	     	  echo('<P>('.$res["id"].') <STRONG>'.$res["name"].'</STRONG> ['.$res["entry"].'] vom '.$res["date"].'</P></TD><TD><A href="index.php?position=guestbook&action=remove&id='.$res["id"].'">[L&ouml;schen]</A></TD></TR>');
          };
		  echo('<A href="index.php?position=guestbook&action=repair">[Datenbank reparieren]</A>');
      }
      else
      {
          echo('<center><P style="color:red">[Die von ihnen gew&auml;lte Seite existiert nicht. Wahlen sie oben eine andere.]</P></center>');
      };
$site ist über $_GET gegeben und beträgt im beispiel 1.
Databaseeinträge in guestbook:
id name entry date
3 gebriel 24XX 24.06.2010
27 33 ge 23.04.1020
330 224 fggegenn 31.02.1020
1 muh kill 24.06.2010
2 klaus dieter 24.06.2010
Die Datensätze sind versuche, ob das Skript funktioniert. Ich arbeite mit Ubuntu 10.04 und Firefox 3.6.3.

Beim Aufruf des og. Scripts stürzt der FF ab. Warum? Was muss ich ändern, dass bei der ÜBERSICHTSSEITE (das Skript) wirklich nur die ersten 10 IDs gesucht werden?

Re: FirefoxAbsturz bei Datenbankzugriff

Verfasst: Do Jun 24, 2010 6:33 pm
von Xin
Wenn der FF abschmiert, dann ist der FF fehlerhaft. Oder was bedeutet "Absturz" genau? Was passiert?
Was kommt denn als HTML Seite raus, wenn Du einen anderen Browser verwendest.

Re: FirefoxAbsturz bei Datenbankzugriff

Verfasst: Do Jun 24, 2010 6:41 pm
von naums
liegt definitiv nicht am FF. okay... mit Epiphany der ist auch überlastet zeigt aber noch [1] an. Und zwar über die ganze seite.

Der FF ist mit Sicherheit nicht fehlerhaft. Der ist überlastet und Ubuntu beendet den, damit nicht die ganzen Resourcen gefressen werden. Das Fesnter wird grau, verdunkelt, dann einige zeit später, bleibt die Maus hängen, der FF killt sich, Gnome-typisch ohne Fehlermeldung und alles geht wieder wie vorher.

ich glaube ich hab iwas mit der Seitencount-anzeige falsch gemacht... :oops: schaumor mui.

Re: FirefoxAbsturz bei Datenbankzugriff

Verfasst: Do Jun 24, 2010 7:03 pm
von naums
Das Problem war, dass maxID die höchste, in der DB enthaltene ID als Wert hat. da zwischen 330 und dem Rest riesiger unterschied ist. Und auch 330 / 10 ultra viel ist... kam dabei nur ein fehler raus.

Re: FirefoxAbsturz bei Datenbankzugriff

Verfasst: Do Jun 24, 2010 7:29 pm
von Xin
naums hat geschrieben:Das Problem war, dass maxID die höchste, in der DB enthaltene ID als Wert hat. da zwischen 330 und dem Rest riesiger unterschied ist. Und auch 330 / 10 ultra viel ist... kam dabei nur ein fehler raus.
Deswegen darf der FireFox nicht abstürzen.

Re: FirefoxAbsturz bei Datenbankzugriff

Verfasst: Fr Jun 25, 2010 2:03 pm
von Dominik
Das klinkt nach eine Endlosschleife und das störzen viele Browser ab ;)

LIMIT 0, 10 zb sollte dein Befehl sein den du suchst

Abgesehen davon das du dir ein PHP Tutorial anschauen solltest, den Querys haut man nicht in Schleifen (die zudem nicht nötig sind)


mfg

Re: FirefoxAbsturz bei Datenbankzugriff

Verfasst: Mi Jun 30, 2010 6:22 pm
von naums
jo... okay. danke. Für mich zählt erstmal dass es funzt. Danach kann ich ja an der Effektivität arbeiten. :lol:

Re: FirefoxAbsturz bei Datenbankzugriff

Verfasst: Mi Jun 30, 2010 6:31 pm
von Xin
Dominik hat geschrieben:Das klinkt nach eine Endlosschleife und das störzen viele Browser ab ;)
Browser schmieren nicht ab, wenn das Programm auf dem Client hakt - bzw. sollten deswegen nicht abschmieren.

Eine Endlosschleife ist weiterhin kein Absturz.

Re: FirefoxAbsturz bei Datenbankzugriff

Verfasst: Fr Jul 02, 2010 11:04 am
von naums
hm... eigentlich nicht, eigentlich müsste der apche abschmieren, wenn Ubuntu meint, dass der zu viele Resourcen frisst. aber der FF greift ja auf den Apache zu und deshalb könnte der viele Resourcen fressen, also wird er von Ubuntu geschlossen.

Re: FirefoxAbsturz bei Datenbankzugriff

Verfasst: Fr Jul 02, 2010 12:52 pm
von Xin
naums hat geschrieben:hm... eigentlich nicht, eigentlich müsste der apche abschmieren,
Auch Apache schmiert nicht ab.
Frist das Ding zuviele Resourcen, wird's abgeschossen - von PHP. Apache bekommt die Meldung, dass PHP fertig ist und schickt das an den Firefox.

Der Firefox ist nur lose per HTTP-Protokoll mit der Sache verbunden und bekommt nur die Info, dass die Verbindung jetzt beendet wird, weil es nichts mehr zu senden gibt.
Das ist ein üblicher Vorgang und deswegen darf der FF da auch nicht abstürzen. Das muss ein Bug im FF sein.