Hey dedlfix,
Hab's grad geändert - das Ergebnis ist allerdings leider das gleiche.
Dein Problem ist nicht nachvollziehbar. Etwas fehlenden Code um deine Auszüge gestrickt, noch drei saveSerialized() ausgeführt, sowie das Ergebnis im DBMS bewundert, erhalte ich eine abc-Ausgabe als Ergebnis von load() - kein aaa.
das habe ich auch bereits getestet, allerdings wieder das gleiche Ergebnis - also aaa - erhalten (wobei ich zu meiner Schande gestehen muss, dass ich das noch nicht "stand-alone", sondern nur im Kontext der gesamten Anwendung getestet habe. Das werde ich morgen aber direkt nachholen. Wahrscheinlich war genau das gerade der Wink mit dem Zaunpfahl, dass ich ganz woanders suchen muss und ich viel zu fest daran geglaubt habe, der Fehler müsse an dieser Stelle zu finden sein. Ich melde mich diesbezüglich!)
Warum gibt MySQL dabei eigentlich keinen Fehler aus?
Weil das ein PHP-Problem ist. PHP akzeptiert das Funktionsergebnis mit ganz leisem Wehklagen. Man bekommt es nur zu hören, wenn man beim error_reporting zum E_ALL noch E_STRICT hinzunimmt.
Ich habe error_reporting() auf -1 stehen, erhalte allerdings keinen Fehler!? Woran kann das liegen? Der Wert -1 sollte doch eigentlich alle Fehler anzeigen?
Ich kann Dir natürlich nur zustimmen, dass im diesem Fall nicht das DBMS, sondern PHP den Fehler ausgeben muss.
Das müsste doch das gleiche sein? In beiden Fällen übergebe ich (fälschlicherweise) einen String!?
Jein, einmal ist es ein konstanter Audruck ein anderes Mal ein Funktionsergebnis. Es ist ja auch ein Unterschied, ob man einem Referenzparameter eine Variable oder einen Ausdruck übergibt. Einer Variable kann man einen neuen Wert zuweisen, einem Ausdruck nicht.
Wieder mal geschrieben ohne nachzudenken... So wie Du es schreibst machts natürlich Sinn!
Vielen Dank nochmal für Deine Antwort! Ich melde mich, wenn ich das weiter getestet habe und (hoffentlich) eine Erklärung finde.
Gruß, Dennis