Laut MySQL Reference Manual fasst ein TEXT-Feld 2^16+2=65538 bytes. Tatsächlich kommen aber in der Datenbank nur ca. 5 kb an.
Der Vorgang ist folgender:
In ein sehr umfangreiches Formular werden verschiedene Angaben zu einem Druckauftrag eingegeben. Gleichzeitig mit diesen Angaben müssen auch große Bilddateien hochgeladen werden. Da PHP eine Beschränkung von 2 MB für den Dateiupload hat, die Bilddaten aber oft größer sind, habe ich ein PERL-Script adaptiert, das diesen Dateiupload bewältigt. Alle Daten werden also zuerst an das PERL-Script geschickt. Dieses legt die hochgeladenen Bilddateien im passenden Ordner ab und schickt alle übrigen Daten weiter an ein PHP-Script, das sie in die Datenbank einträgt. Und zwar generiert das PERL-Script eine HTML-Seite mit einem Formular und schreibt jede Variable, die es erhalten hat (außer den hochgeladenen FILES), nachdem es sie base64-codiert in ein <input type="hidden">. Das PHP-Script trägt, wie gesagt, die Daten in die Datenbank ein. Das ursprüngliche Formular enthält zwei <textarea> Eingabefelder, in die manchmal sehr viel Text eingegeben wird. Dieser Text ist es, der nicht vollständig in der Datenbank ankommt. Hat jemand eine Idee, wo der Engpass liegen könnte?
Ich kann gerne die Scripts, die allerdings sehr umfangreich sind, hier hereinstellen.