Для повноти (оскільки я поки не можу додати коментарів), дозвольте також додати цю деталь як іншу відповідь:
(Редагувати. Читати після розуміння того, що вихідні дані (тобто у випадку ОП, набір результатів бази даних) можуть бути проблемою (шляхом повернення числових стовпців як рядків), а json_encode () насправді не є джерелом проблеми)
Сторінки вручну обох " mysql_fetch_array ":
Повертає масив рядків, який відповідає вилученому рядку,
... і " mysql_ fetch_ row ":
Повертає числовий масив рядків, який відповідає вилученому рядку
чітко стверджує, що; записи у поверненому масиві будуть рядками.
(Я використовував клас DB у phpBB2 (так, я знаю, він застарів!), А метод "sql_fetchrow ()" цього класу використовує "mysql_fetch_array ()")
Не усвідомлюючи цього, я теж знайшов це питання і зрозумів проблему! :)
Як Паскаль Мартін заявив вище у своїх коментарях, які я вважаю, я вважаю, що рішення, яке стосується проблеми "неправильного типу" у джерелі (тобто, використовуючи функцію " mysql_field_type () " та виконуючи кастинг відразу після отримання, (або інші методи отримання, такі як "об'єкт"?)) були б кращими в цілому.