Fehlermeldung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fehlermeldung

    Hallo alle zusammen


    Hab ein kleines problem

    ich soll eine tabelle aus einer DB auslesen die insgesamt 80 mb groß ist.

    mun bekomme ich immer die Fehlermeldung:

    Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 126 bytes) in /www/user/web8282/html/db/auslesen.php on line 58;


    keine ahnung woran das liegt.
    hier der Quellcode:
    PHP-Code:
    $sql_auslesen "SELECT * FROM $tbl;
        
    $query_auslesen mysql_query($sql_auslesen);
        
    $anz mysql_num_rows($query_auslesen);
        
    $erg $anz 40000;

    $lauf round($erg) + 1;

    for(
    $i=0;$i<=$lauf;$i=$i+1){
        
    $j $j 40000;
            
    If(
    $j $anz){
            
    $j $anz;
    }
            
    $sql_auslesen1 "SELECT * FROM $tbl WHERE id >= $k AND id <= $j";
            
    $query_auslesen1 mysql_query($sql_auslesen1);
            
    while(
    $auslesen mysql_fetch_array($query_auslesen1)){
        
    $daten .= $auslesen['id'] .";"$auslesen['webadresse'] .";" .$auslesen  ['webreferer'] .";"$auslesen['webtime'] .";"$auslesen['webip'] .";"$auslesen['provider'] .";"$auslesen['system'] .";\n";
            
    }

    mysql_free_result($query_auslesen1);
            
    $datei =fopen($path ."Daten_$i.csv","a+");
    fwrite($datei,$daten );
            
    $k $j 1;
            

    der connect zu db steht.

    Hoffe es kann mir einer helfen

    Danke schon mal
    Zuletzt geändert von nightview; 02.02.2004, 08:52.

  • #2
    scheint mir, als wäre die maximal erlaubte von php ausführbare dateigröße 8 mbyte, bedeutet änderungen in der php.ini ...
    (-:
    Bookmarks:·Bilder·Jobs·Recht·
    kostenloser Webkataloge-Assistent

    Kommentar


    • #3
      check mal deine schleifen...


      und verwende die php-tags im forum!
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        Was soll den mit der schleife sein ?


        únd das mit den tags wußte ich nicht, sorry werde es das nachste mal
        besser machen

        Kommentar


        • #5
          $datei =fopen($path ."berufsmarkt_stats_$i.csv","a+");
          fwrite($datei,$daten );
          gehört hinter die for-Schleife oder
          $daten = statt $daten .=

          Schreib mal für
          $lauf = 5;
          vor die for-Schleife (vielleicht ist $lauf so groß, daß "Allowed memory" überschritten wird)

          sonst
          echo "I=$i<br>";
          flush();
          nach der for-Schleife.

          Offe

          Kommentar


          • #6
            Original geschrieben von nightview
            únd das mit den tags wußte ich nicht, sorry werde es das nachste mal
            besser machen
            du darfst auch deinen ersten post editieren und die tags einfügen.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Also das mit
              PHP-Code:
              $daten .= 
              stimmt, da pro while 40000 datensätze eingelesen werden. da er das so lange m,achens oll bis die tabelle ausgelesen ist, muß es auch in die For schleife, sonst müsste ich es ja immer wieder neu ausfüren.

              das script würde ja auch so laufen, wenn da nicht die sachen mit dem speicher wäre, der mir nur 8MB erlaubt. kann ich das auf irgendeine war tund weise umgehen? oder kann ich den server auf irgendeine art austricksen. z.B. das sich das script immer wieder selber ausführt, bis die daten alle ausgelesen sind?

              weiß echt nicht mehr weiter

              danke für die hilfe

              Kommentar

              Lädt...
              X