Fatal Error mit mysql_fetch_row

Alles, was PHP betrifft, kann hier besprochen werden.

Fatal Error mit mysql_fetch_row

Postby startist » 11. March 2009 11:27

Hallo,

ich hoffe, ich bin in diesem Forumabschnitt richtig ;)

Ich habe ein umfangreiches Projekt programmiert, welches auch einwandfrei lief, zumindest bisher. Seit neuesten überrascht mich der Browser an einer Stelle mit folgender Fehlermeldung:
Code: Select all
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 1 bytes) in C:\xampp\htdocs\wesa\inc\sqlfunc.inc.php on line 57
kann auch so aussehen:
Code: Select all
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 35 bytes) in C:\xampp\htdocs\wesa\inc\sqlfunc.inc.php on line 57
Hier sind nur die Bytes höher.
Die Stelle in meinem Script, auf die die Fehlermeldung verweist, sieht so aus:
Code: Select all
function db_fetch_row ($erg) {
   return (mysql_fetch_row($erg));
}
Diese Funktion sollte mir ca. 15.000 Zeilen liefern. Offensichtlich ist aber ein Speicherplatz (oder Cache?) zu klein. Kann ich dafür eine Einstellung in XAMPP vornehmen? Oder kann ich nicht mit so vielen Zeilen auf einmal arbeiten? Kann mir jemand weiterhelfen? :(

Vielen Dank schon mal für eure Anregungen.
Grüße, startist
User avatar
startist
 
Posts: 55
Joined: 24. June 2008 14:10
Location: Dresden

Re: Fatal Error mit mysql_fetch_row

Postby Wiedmann » 11. March 2009 11:44

Fatal error: Allowed memory size of 33554432 bytes exhausted

"memory_limit" in "php.ini".

mysql_fetch_row() Diese Funktion sollte mir ca. 15.000 Zeilen liefern.

Also mysql_fetch_row() liefert dir eh nur eine Zeile (fetch one row).
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Fatal Error mit mysql_fetch_row

Postby startist » 11. March 2009 13:32

@ Wiedmann
Danke, das war der Hänger.
Wie hoch kann ich denn mit memory_limit gehen? Gibts eine Grenze, die man nicht überziehen sollte? Also bspw. in Prozent des verfügbaren RAMs?

PS: Natürlich hast Du Recht mit mysql_fetch_row(). Ich hab mich nur blöd ausgedrückt. Ich hab diese Funktion für eine while-Schleife genutzt, diese hätte mir ein Array mit diesen 15.000 Zeilen zurückliefern sollen. Weshalb dann die Fehlermeldung auf die Funktion mit mysql_fetch_row() verweist, bleibt mir allerdings schleierhaft.
User avatar
startist
 
Posts: 55
Joined: 24. June 2008 14:10
Location: Dresden

Re: Fatal Error mit mysql_fetch_row

Postby Wiedmann » 11. March 2009 14:12

Wie hoch kann ich denn mit memory_limit gehen?

Siehe Manual: -1

Aber das scheint ja gerade für Scripte wie deines gemacht zu sein ;-) :
This helps prevent poorly written scripts for eating up all available memory on a server.

diese hätte mir ein Array mit diesen 15.000 Zeilen zurückliefern sollen.

Denn ganzen Ablauf kannst du ja bestimmt noch optimieren.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany


Return to PHP

Who is online

Users browsing this forum: No registered users and 12 guests