Fehlermeldung SQL

  • #1
B

Bruno_2k

Bekanntes Mitglied
Themenersteller
Dabei seit
02.11.2004
Beiträge
725
Reaktionspunkte
0
Hallo,

seit ein paar Tagen, bekomme ich immer folgende Fehlermeldung:

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 38 bytes) in /srv/www/htdocs/web1/html/admin/functions/views_counter.php on line 75

An was kann es liegen, dass diese Meldung erst seit ein paar Tagen kommt, obwohl ich das Skript nicht geändert habe?

Hier noch das Skript:

Code:
<?php
  function count_views($method)
  {
    ## Methodenweiche
    if($method == all) #Gesamt
    {
      $sql = SELECT * FROM kay_counter;
    }
    elseif($method == today) #Heute
    {
      $sql = SELECT * FROM kay_counter WHERE date='.date(Y-m-d).';
    }
    elseif($method == week) #woche
    {
      $wochentag = date(D);
      switch($wochentag)
      {
        case Mon:
          $wochentag = 0;
          break;
        case Tue:
          $wochentag = 1;
          break;
        case Wed:
          $wochentag = 2;
          break;
        case Thu:
          $wochentag = 3;
          break;
        case Fri:
          $wochentag = 4;
          break;
        case Sat:
          $wochentag = 5;
          break;
        case Sun:
          $wochentag = 6;
          break;
      }
      $day = date(d);
      $month = date(m);
      $year = date(Y);


      if(($day - $wochentag) > 0)
      {
        $date_s = $year-$month-.($day - $wochentag);
        $date_e = $year-$month-.($day + (6 - $wochentag));
      }
      elseif(($month - 1) > 0)
      {
        $date_s = $year-.($month - 1).-.(date(t, mktime(0,0,0, ($month -1 ), 1, $year))-($wochentag-$day));
        $date_e = $year-.($month).-.($day + (6-$wochentag));
      }
      else
      {
        $date_s = ($year-1).-12-.(date(t, mktime(0,0,0, ($month -1 ), 1, $year))-($wochentag-$day));
        $date_e = $year.-.$month.-.($day + (6-$wochentag));
      }

      $sql = SELECT * FROM kay_counter WHERE (date>'$date_s' AND date<'$date_e') OR date='$date_s';
    }
    elseif($method == month) # Monat
    {
      $month_s = .date(Y).-.date(m).-01;
      $month_e = .date(Y).-.date(m).-31;

      $sql = SELECT * FROM kay_counter WHERE date>'$month_s' AND date<'$month_e';
    }
    ## Methodenweiche ende
    mysql_select_db($database, LINK);
    $sql_result = mysql_query($sql, LINK);
    for($i=0;$i<mysql_num_rows($sql_result);$i++)
    {
      $counter[$i]=mysql_fetch_array($sql_result);
    }
    $result = count($counter);

    return($result);
  }
?>


Danke für eure Mühen
Gruß Benedikt
 
  • #2
Ich zitiere mal aus einem anderen Forum:
Dieser Fehler beruht auf auf der Einstellung Memory Limit in der php.ini. Wenn eine abgearbeitetes Script mehr als 8 MB (meine Einstellung in der php.ini) belegt wird abgebrochen. Also helfen mir jetzt auch keine Funktionen und kein unset. Leider gibt es keine Funktion in php wo explizit Speicher freigeben kann. (ähnlich wie bei mysql_free_result). Bleibt mir wohl nichts anderes übrig als den Wert von 8 MB zu erhöhen oder meine Datei umzuschreiben. Danke für Hilfe!!
 
Thema:

Fehlermeldung SQL

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben