Das Problem entstand dadurch, dass Formulardaten ja bereits automatisch geescapet werden. So hatte ich sie einfach in mein Array geschrieben, selbiges serialisiert, gespeichert und wieder deserialisiert - klappte wie berichtet nur dann, wenn in den Array-Elementen keine einfachen Anführungsstriche vorkamen.
Jetzt mach ich die Formulareingaben vor dem Einsetzen in das zu serialisierende Array per stripslashes() sauber und wende anschließend addslahes() auf den serialisierten String an, also so:
PHP-Code:
$data['firstname'] = stripslashes($_REQUEST['firstname'];
$data['lastname'] = stripslashes($_REQUEST['lastname'];
...
$data_string = addslashes(serialize($data));
Deserialisiert wird dann einfach umgekehrt, erst stripslashes(), dann unserialize:
PHP-Code:
unserialize(stripslashes($row['object']))
So klappts jedenfalls perfekt.