Hi!
Wenn aber z.B. ein Fehler auftaucht, weil z.B. eine Datenbankabfrage nicht funktioniert oder ein Syntaxfehler vorhanden ist, kann meine JavaScript-Funktion mit der Rückgabe nichts anfangen, weil sie sich nicht JSON-interpretieren lässt.
Warum gibst du denn Fehlermeldungen in Richtung JSON aus? Bei einer Datenbankabfrage hast du maximal mysql_connect() als Kandidaten für PHP-Fehlermeldungen, und da kannst du den @-Operator verwenden. Die weiteren mysql_*()-Funktionen werfen keine PHP-Fehler, da du sie ja (wenn du es richtig machst) gar nicht erst aufrufst, wenn eine der übergeordneten Funktionen über ihren Rückgabewert schon einen Fehler signalisiert.
Andere PHP-Fehler treten
a) bei Proframmierfehlern auf - hast du keine, wenn du ausreichend getestet hast.
b) bei externen Operationen - da kannst du den @ verwenden und Folgefehler durch Auswerten der Rückgabewerte verhindern.
Besser als @ ist in der Produktivumgebung allerdings, display_errors auf off zu stellen. Schon allein deswegen ergibt sich das Problem der abzufangenden Ausgaben nicht.
Lo!