Bilderkommentarfunktion zu dumm zum Zählen!?

theHacker

sieht vor lauter Ads den Content nicht mehr
Teammitglied
ID: 69505
L
20 April 2006
22.680
1.315


Das "r" und ein Punkt hätten noch dazugepasst. Ich hatte noch 2 Zeichen :-?

Also nicht dass du dich wunderst, weil ich mitten im Wort das Schreiben aufgehört hab ;)
 
Ah gut, wollt Dich grad fragen. :ugly:

Das eine is JS, das andere PHP.
Ich denk die " machen Probleme oder da ist ein \n|\r drin irgendwie ...
Der einfachste Weg wird sein, dass ich PHP bisschen Toleranz gebe.
 
\" könnens nicht sein. \r, \n verwend ich nicht, weil ich weiß, dass du nirgends(?) nl2br() drin hast, ich also keine Absätze machen kann.

Normal würd ich bei sowas Umlaute vermuten, da die in UTF-8 ja 2 Bytes fressen, allerdings hab ich 4 Umlaute drin und nicht nur 2.

Achso, die Anführungszeichen können schon sein, wenn du auf Serverseite irgendwo n addslashes() machst und dann erst die Zeichen zählst :think:

edit:
Wenns dir nichts ausmacht, dann erhöh doch mal die Zeichenanzahlen allgemein ;) Ich erreich regelmäßig bei Fotokommentar, -kommentar, Bewertung, -kommentar und Kinobewertung (da is sogar n bissle mehr drin) das Zeichenlimit.
 
An die denk ich nie. An allen meinen Seiten hab ich so ein Anti-Magic-Teil dran 8)

Wenn Luke die Magic an wär, hätt er das wohl schon an vielen anderen Stellen gemerkt, oder? ;)
 
th hatte Recht.

Ich hatte addslashes() gemacht, um es in die DB einzufügen ... und danach erst die Länge getestet. :ugly: Fixed.

@mehr Zeichen
Jetzt genügt halt VARCHAR(255) ...
 
Und warum nicht VARCHAR(2048) (MySQL5) bzw. TEXT? :angel:

P.S.
Wenn du tH nochmal mit kleinem 'h' schreibst, werd ich klamm wieder großschreiben :evil: :p
 
Jo das 255 kommt von MySQL<5.

Da war auch glaub zusätzlich was mit "Blobs sind in MEMORY nicht erlaubt".
Also kostet TEXT immer I/O, VARCHAR läuft im best case auf RAM-only.

Jetz müsst ich nur noch forschen ob >255 sich anders verhält.
Wenn nicht könnte man das ändern, jo.
Aber 255 genügt für einen "Kommentar" - eigentlich. :p
 
Du kannst ja "Kommentar" umbenennen, wenn das die einzige Hürde wär :LOL:
 
das sind 5 Jahre alte Tests ohne jeglichen Hintergrund, deren Relevanz ist gleich null und hat keine Aussagekraft ;)
Du durchsuchst die Spalte ja auch nicht oder?

Da war auch glaub zusätzlich was mit "Blobs sind in MEMORY nicht erlaubt".
Also kostet TEXT immer I/O, VARCHAR läuft im best case auf RAM-only.
korrekt, aber ich bezweifel, dass du die Kommentare in der Memory-Engine speicherst ;)
Was du meinst ist, dass temporäre Tabellen mit TEXT oder Blobs nicht im Ram gehalten werden dürfen, sondern auf der Festplatte gespeichert und bearbeitet werden müsse.
Und ich muss dich leider enttäuschen, weder TEXT noch VARCHAR laufen im Bestcase im Ram, du beziehst dich hiermit denke ich darauf, dass die Daten durch die MyISAM-Engine im Ram gecacht werden, dem ist nicht so.
MyISAM cacht gar nur Index-Files, keine Daten, diese primitive Engine verlässt sich beim cachen zu 100% auf das Betriebssystem.
Das einzige was wirklich Fakt ist, dass TEXT-Datensätze "off-record" gespeichert werden, diese also nicht zusammen mit allen anderen Daten eines Datensatzes zusammen gespeichert werden, sondern in speziellen Datenbereichen der Datei, es wird also ein extra I/O-Zugriff benötigt um an die Daten des TEXT-Feldes zu kommen, im Gegensatz zu InnoDB bei dem das eine Ecke intelligenter gespeichert wird, aber das ist ein anderes Thema.

Jetz müsst ich nur noch forschen ob >255 sich anders verhält.
Wenn nicht könnte man das ändern, jo.
Aber 255 genügt für einen "Kommentar" - eigentlich. :p
varchar(255) verhält sich im Core genauso wie die 65k Version ;) Man hat einfach nur ein bisschen mehr Platz spendiert.
Wichtig ist aber anzumerken, dass temporäre Tabellen mit der Memory-Engine realisiert werden, da diese nur fixed-length rows unterstützt wird jeder VARCHAR(X) während der Operation zu einem CHAR(X), ich würde mir also sehr genau überlegen welche maximale Größe ich meinen VARCHAR-Feldern gebe.