Hallo zusammen,
ich bin beim Programmieren über ein Problem gestolpert, das ich irgendwie nicht gelöst bekomme. Und zwar möchte ich längere Texte (also gewöhnliche Strings) als serialisiertes Array in meiner Datenbank speichern und abrufen - was auch soweit klappt. Wenn allerdings in einem dieser Strings ' oder " vorkommen, gibt mir unserialize() false zurück anstatt des Arrays. Ich hab bereits versucht, beides zu escapen (zuerst mit addslashes(), dann mit mysql_real_escape_string()) - und als das nicht funktionierte, habe ich sogar zur Funktion htmlspecialchars() gegriffen, um so sämtliche Störfaktoren aus den Strings zu bekommen. Geholfen hat's leider nicht, bekomme weiterhin false zurück. Habt ihr eine Idee, wie ich dieses Problem lösen kann? Hab schon einige andere Threads in diesem Forum zu ähnlichen Themen durchstöbert, aber leider keine Lösung gefunden.
Cheers,
Silva
(Meinen Server findet ihr
hier. Unten stehenden Code findet ihr in der bio.php, gespeichert werden die Strings in der prefs_new.php. Mein Server hat die Dragonslayer Edition V2.5 als Basis.)
Uhm.. an Code gibt es ja nicht viel, eigentlich nur diesen hier:
PHP:
$result2 = db_query("SELECT xcharbios FROM account_extra_info WHERE acctid=".$row['acctid']);
$row2 = db_fetch_assoc($result2);
$xcbios2 = unserialize($row2['xcharbios']);
Und in der Datenbank steht das hier:
a:2:{s:9:"xcharbio1";s:11:"muh "";s:9:"xcharbio2";s:2:"hu";}
Sagt mir einfach, was ihr noch braucht, ich poste es dann umgehend.