Der Vollständigkeit halber (da ich noch keine Kommentare hinzufügen kann) möchte ich dieses Detail auch als weitere Antwort hinzufügen:
(Bearbeiten: Wird gelesen, nachdem erkannt wurde, dass die Quelldaten (dh im Fall des OP die Datenbank-Ergebnismenge) das Problem sein könnten (indem numerische Spalten als Zeichenfolgen zurückgegeben werden), und json_encode () war tatsächlich nicht die Quelle des Problems.)
Handbuchseiten beider " mysql_fetch_array ":
Gibt ein Array von Zeichenfolgen zurück , das der abgerufenen Zeile entspricht.
... und " mysql_ fetch_ row ":
Gibt ein numerisches Array von Zeichenfolgen zurück , das der abgerufenen Zeile entspricht
stellt klar fest, dass; Die Einträge im zurückgegebenen Array sind Zeichenfolgen.
(Ich habe die DB-Klasse in phpBB2 verwendet (ja, ich weiß, sie ist veraltet!), Und die Methode "sql_fetchrow ()" dieser Klasse verwendet "mysql_fetch_array ()".)
Da ich das nicht bemerkte, fand ich auch diese Frage und verstand das Problem! :) :)
Wie Pascal Martin oben in seinen nachfolgenden Kommentaren ausgeführt hat, glaube ich, dass eine Lösung das Problem des "falschen Typs" an der Quelle behebt ( dh indem die Funktion " mysql_field_type () " verwendet und das Casting direkt nach dem Abrufen durchgeführt wird (oder) andere Abrufmethoden wie "Objekt"?)) wären im Allgemeinen besser.