php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.10.2011, 14:12  
Benutzer
 
Registriert seit: 17.03.2011
Beiträge: 36
PHP-Kenntnisse:
Fortgeschritten
Schnittcher befindet sich auf einem aufstrebenden Ast
Standard Serialize Function Problem

Hallo,
wenn ich ein Objekt serialisiere und es mir in einer Datenbank zwischenspeichern möchte, wie ich da am besten vor?
Ich habe es versucht indem ich den String dann in der Datenbank gespeichert habe.

Das hat auch wunderbar funktioniert, doch leider wird der String iwann zu groß und ich erhalte folgenden Fehler:

Code:
Notice: unserialize() [function.unserialize]: Error at offset 65499 of 65535 bytes
Wie kann ich dieses Problem lösen?

Gruß,
Schnittcher
__________________
Gruß,
Schnittcher
http://www.schnittcher.info
Schnittcher ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.10.2011, 14:23  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 300
PHP-Kenntnisse:
Fortgeschritten
Asterixus sorgt für eine eindrucksvolle AtmosphäreAsterixus sorgt für eine eindrucksvolle Atmosphäre
Asterixus eine Nachricht über Skype™ schicken
Standard

Was ist denn das 65499. Zeichen? Ich unserialisiere manchmal deutlich größere Zeichenketten und das gibt keine Probleme. Anscheinend liegt es an der Kodierung, die nicht stimmt.
Asterixus ist offline   Mit Zitat antworten
Alt 05.10.2011, 14:24  
Benutzer
 
Registriert seit: 17.03.2011
Beiträge: 36
PHP-Kenntnisse:
Fortgeschritten
Schnittcher befindet sich auf einem aufstrebenden Ast
Standard

Der Wert in der Datenbank passt nicht, er schneidet den Rest ab, es ist nicht mehr der volle String zu sehen.

Edit: Also mir kommt es so vor, wenn ich die Serialize Function ausführe, dass er nicht den kompletten String in die Datenbank einträgt.
__________________
Gruß,
Schnittcher
http://www.schnittcher.info

Geändert von Schnittcher (05.10.2011 um 14:30 Uhr).
Schnittcher ist offline   Mit Zitat antworten
Alt 05.10.2011, 14:43  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 300
PHP-Kenntnisse:
Fortgeschritten
Asterixus sorgt für eine eindrucksvolle AtmosphäreAsterixus sorgt für eine eindrucksvolle Atmosphäre
Asterixus eine Nachricht über Skype™ schicken
Standard

Haben das Problem "privat" geregelt. Das Problem war, dass er bei der Datenbank blob benutzt hat und dies nur eine ziemlich begrenzte Anzahl Zeichen erlaubt.
Asterixus ist offline   Mit Zitat antworten
Alt 05.10.2011, 16:41  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Und welche Storage-Engine benutzt du ? BLOBs können auf bestimmten Engines bis zu 2^32 Bytes groß sein, waage ich zu bezweifeln das eins der Größten Datenbank-Feldtypen zu klein ist.

Prinzipiell hängt aber die maximale row-size, die appended memory/storage page size und schlussendlich die blob-field size davon ab wieviel der deamon angewiesen wurde zuzulassen ( Konfigurationen, Physikalische Contingent- und/oder Filesystem-Limits ).
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist gerade online   Mit Zitat antworten
Alt 05.10.2011, 16:49  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 300
PHP-Kenntnisse:
Fortgeschritten
Asterixus sorgt für eine eindrucksvolle AtmosphäreAsterixus sorgt für eine eindrucksvolle Atmosphäre
Asterixus eine Nachricht über Skype™ schicken
Standard

Er hatte ein 2^16-blob...
Asterixus ist offline   Mit Zitat antworten
Alt 05.10.2011, 18:42  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Zitat:
Zitat von Asterixus Beitrag anzeigen
Er hatte ein 2^16-blob...
Das is nix, da rülpst nichtmal InnoDB..
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist gerade online   Mit Zitat antworten
Alt 05.10.2011, 19:13  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 300
PHP-Kenntnisse:
Fortgeschritten
Asterixus sorgt für eine eindrucksvolle AtmosphäreAsterixus sorgt für eine eindrucksvolle Atmosphäre
Asterixus eine Nachricht über Skype™ schicken
Standard

Das Problem war, dass er versucht hat, eine Zeichenkette, die länger als 2^16 war einzufügen. Allerdings wurde die Zeichenkette dann nur gekürzt eingefügt.
Asterixus ist offline   Mit Zitat antworten
Alt 06.10.2011, 00:33  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Zitat:
Zitat von Asterixus Beitrag anzeigen
Das Problem war, dass er versucht hat, eine Zeichenkette, die länger als 2^16 war einzufügen. Allerdings wurde die Zeichenkette dann nur gekürzt eingefügt.
Und wie genau hat er das gemacht ? Per PDO ? String-Statement ? Dump ?

Zitat:
13.2.14. Limits on InnoDB Tables

Maximums and Minimums
The maximum row length, except for variable-length columns (VARBINARY, VARCHAR, BLOB and TEXT), is slightly less than half of a database page. That is, the maximum row length is about 8000 bytes. LONGBLOB and LONGTEXT columns must be less than 4GB, and the total row length, including BLOB and TEXT columns, must be less than 4GB.
http://dev.mysql.com/doc/refman/5.0/...trictions.html
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist gerade online   Mit Zitat antworten
Alt 06.10.2011, 00:53  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.268
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Stichwort strlen() != mb_strlen()?! Warum speicherst du serialisierte Daten in die DB?
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
DI-Container xm22 Software-Design 44 07.08.2011 18:03
[Erledigt] Generelle Funktion für GET POST sinnvoll? hausl PHP Einsteiger 81 04.06.2011 21:31
Problem mit function() return while markus88 PHP Tipps 2009 4 05.12.2009 18:26
[Erledigt] OOP Problem limenet PHP Tipps 2009 6 26.11.2009 15:42
JS-Kalender funktioniert nicht im IE8 ToxicToast JavaScript, Ajax und mehr 4 18.11.2009 16:26
[Erledigt] problem mit function einer class Linux-is-cool Scriptbörse 17 09.10.2009 23:11
Decorator-Pattern grizu PHP Tipps 2009 15 12.08.2009 14:41
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
GD-Spezialisten gesucht....wer kann helfen? rezix PHP Tipps 2008 12 26.02.2008 17:55
Problem mit function PHP Tipps 2007 4 06.11.2005 22:19
problem mit function PHP Tipps 2005-2 6 19.10.2005 22:50
Problem Call to a member function on a non-object PHP Tipps 2005 5 24.05.2005 19:14
Problem bei erstellung einer tabelle mit function und array PHP Tipps 2005 5 21.04.2005 20:54
[Erledigt] function problem PHP Tipps 2005 22 17.04.2005 21:32
Problem mit function PHP Tipps 2004 2 10.09.2004 21:41

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php unserialize longtext error at offset

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:10 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum