Tom: mysql buffer voll?

Beitrag lesen

Hello,

Ich habe eine DB mit ca. 120 Adressdatensätzen. Jeder Benutzer hat in dieser Tabelle 12 Felder mit Angaben wie (Strasse, Plz, Tel, email...etc) Ich mache eine SELECT DISTINCT * FROM 'personen' WHERE kanton='Bern' Abfrage, was auch klappt, solange es nicht zuviele Datensätze sind, die zutreffen. Wenn mehr als 16 Adressen ausgemacht werden, kommt die Meldung: Diese Seite kann nicht mehr angezeigt werden (404).

Woher kommt denn die Fehlermeldung?
MySQL gibt an den Browser nicht selbsttätig Fehlermeldungen aus. Die muss man schon selber aus dem Resultset (das ist dann false) und der Fehlerschnittstelle (mysql_error() und mysql_errno() http://de2.php.net/manual/de/function.mysql-errno.php ) herausholen.

Nichtsdestotrotz (tolles Wort, oder *g*) solltest Du genau darauf achten, dass Deine Scripte nach einer Abfrage auch das Resultset wieder frei geben
mysql_free_result() http://de2.php.net/manual/de/function.mysql-free-result.php, da es sonst bis zur Freigabe der Connection (spätestens am Scriptende) auf dem Datanbankseerver bleibt, und das meistens nutzlos.

Ich muss die SELECT Abfrage mit "LIMIT 16" ergänzen, so kann ich den Error (404) umgehen. In diesem Fall werden aber nur 16 Datensätze angezeigt, was nicht der effektiven Anzahl entspricht (Etwa 40+).
Ich denke das liegt an dem Buffer oder sonst irgend einem Speicher... Wie kann ich diesen erhöhen? Wisst ihr um welchen speicher es sich handeln könnte?
PS ich mache eine While abfrage mit PHP...gibt es dort etwa auch limits?

Kommt der Fehler vor oder während der Ausgabe der Datensätze?

Werden die Datensätze während oder nach dem Auslesen des Resultsets ausgegeben?

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen