Zum Inhalt springen

Prob mit PHP/Formular 255 Zeichen


Empfohlene Beiträge

Habe ein kleines Problem, wir haben seit lägerem im Intranet u.a. HTML-Formulare mittels PHP erzeugt und die laufen auch ganz gut. Nun ist es aber vorgekommen das in bestimmten Feldern mal mehr als 255 Zeichen eingetragen wurden/werden. Fakt ist es kommen aber nur 255 Zeichen in der DB an, was definitiv nicht an der DB liegt (das Feld hält wesentlich mehr aus). Es scheint also, als ob in die PHP-Variable nur 255$ Zeichen "reinpassen" und dann einfach abgeschnitten wird ?

Wie kann ich das umgehen bzw. richtigstellen :confused:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Lo Schledo,

Eine normale php Variable verträgt ganz sicher mehr als 255 zeichen. Hast du die Variable vielleicht irgendwie auf 255 beschränkt ? (Falls das in PHP überhaupt geht).

Falls es wirklich nicht an der Datenbank liegt (Feld als varchar deffiniert ?) Kann auch sein, daß das Textfeld des HTML Formulares auf 255 Zeichen beschränkt ist.

Gruß

Fraggy

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also so ähnliche Gedanken habe ich mir auch schon gemacht, aber woran liegt das nun ?

A.Datenbank. Sicherlich nicht, denn das Feld ist mit nvarchar 1000 deklariert.

B. HTML-Textarea. Möglicherweise, hat da jemand ne Ahnung ?

C. PHP-Variable. Glaub ich einfach nicht.

Das Problem / Phänomen muss doch bekannt sein :confused:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also ich habe jetzt einige Tests gemacht und festgestellt, das die Texte eigentlich ordentlich in die Datenbank geschrieben werden, der Fehler liegt mehr beim Auslesen/Anzeigen der Daen, da wird nämlich "abgeschnitten" nach dem 255ten Zeichen.

Denke das dies wohl an der Inkompatibilität mit nvarchar liegen könnte (die dann nur ab 255 Zeichen vorhanden wäre) daran liegen könnte.

Jetzt habe ich allerdings eine Fragebezüglich der Umstellung auf den Feldtyp Text. Ich hatte vorher bzw. habe im Moment den Typ nvarchar 1000, was ausreicht, wenn ich allerdings auf TExt umstelle, so habe ich maximal Text 16 im "Angebot", wieviele Zeichen sind das letztendlich bzw. wie ist diese Größenangabe gemeint ? Nicht das mit das was von den aktuellen Texten abgeschnitten wird, das wäre ziemlich schlimm.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

wieso nimmst du nicht varchar?

Übersicht der einzelnen Datentypen:

http://www.berndjungbluth.de/sqlfaq/faqb4.htm

Original geschrieben von Schledo

Nicht das mit das was von den aktuellen Texten abgeschnitten wird, das wäre ziemlich schlimm.

Ich hoffe ja stark du sicherst die Datenbank bevor du was an der Tabellenstruktur änderst.

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die ganze Ausgabedatei ist denke ich durch viele Sonderoptionen zu groß für hier, aber die wesentlichen Auslesevorgänge aus der DB sind diese (auf wesentliche gekürzt) :

$sqlanfrage = "SELECT TOP $limit * FROM $tabelle WHERE $bedingung AND $id NOT IN (SELECT TOP $offset $id FROM $tabelle WHERE $bedingung ORDER BY $sortierung) ORDER BY $sortierung";

$ergebnis = mssql_query($sqlanfrage)

$zeile = mssql_fetch_row($ergebnis)

... die entspr. Text werden dann in einer HTML-Tabelle / Zelle ausgegeben ...

Grundlegende Fehler ausgeschlossen, denn Skript schon recht lange in ständigem Betrieb. (Und nicht wundern warum ich oben eine Verschachtelung gewählt habe anstatt einfach nur die LIMIT-Klausel, diese gibt es nämlich bei meinem SQL-Server nicht ;) )

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hast du auch mal ne Extra-PHP Datei erstellt und dir $ergebnis bzw. $zeile alleine anzeigen lassen (ohne alles andere - Minimaleinstellug halt)? Noch immer dasselbe?

Wenn ja, mußt du wohl oder übel mal alle textartigen Variablentypen zum Auslesen (z.B. auch Memo) durchprobieren.

Wenn nicht, stellst du vielleicht mit einer der angesprochenen Sonderoptionen die maximal verfügbare (oder auch nur anzeigbare?) Länge auf 255 Zeichen ein. Dann darfst du die große Datei durchsuchen.

CU

Tachyoon

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...