Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#1

PHP: Problem mit serialize() und unserialize()

  Alt 22. Jul 2005, 01:26
Hallo ihr,

ausnahmsweise hab ich auch mal ein php-Problem. Ich versuche grad, ein array mit serialize() in die Datenbank zu schreiben. Zuerst fuelle ich das array:
Code:
$post_history[$count]['subject'] = str_replace("\'", "''", str_replace('"', '\\"', (addslashes($row['post_subject'])));
Da serialize die Daten mit einem " begrenzt, muss ich es quoten, und das laut php-Referenz sogar doppelt, da ein quote-Zeichen anscheinend beim Schreiben in die mySQL-Datenbank draufgeht. Die Daten werden mit einem einfachen serialize() in die Datenbank geschrieben:
Code:
serialize($post_history)
Soweit so gut, es steht auch ein \" in der Datenbank. Wenn ich nun aber laengere Daten in die Datenbank schreibe, die auch nicht unbedingt ein " enthalten, so fehlen mir nach dem Auslesen anscheinend 4 Bytes, und deshalb schlaegt dieser Aufruf fehl:
Code:
$post_history = unserialize($postrow['post_history']);
Die Daten werden in ein LONGTEXT-Feld geschrieben, und auch die Verwendung eines BLOB-Feldes hat nichts gebracht.

Hatte jemand schon mal aehnliche Probleme, oder sonst einen Tipp wie ich das Problem loesen kann?

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat