@trickster2019

Почему json_encode превращает число в строку?

Добрый день пишу API для приложения и столкнулся с проблемой, есть PHP код который должен выводить всех пользователей в json формате,
<?php
require_once 'config.php';

try {
        $db = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME, DB_USER, DB_PASS);
} catch(PDOException $e) {
        print "Error!: " . $e->getMessage();
        die();
}



$sql_all_user="SELECT * FROM `User_db`";
$stmt = $db->prepare($sql_all_user);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);

echo json_encode($result);
?>

и ожидается что поле ID будет выведено в виде числа, но почему то выводится в виде строки.
результата json.
[{"ID":"49","NAME":"1","MAIL":"1","PASSWORD":"1","TOKEN":"c62ef3585b8a88440574a91f919755b3","EXPIRATION":"2022-04-29 06:13:30"},{"ID":"50","NAME":"2","MAIL":"2","PASSWORD":"2","TOKEN":"846948bc61c3dfdbb5cbf627d7977a93","EXPIRATION":"2022-04-25 06:26:02"}]
скрин бд.
6264ecb42ef8a294106203.png
  • Вопрос задан
  • 119 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что из PDO вернулась строка.
https://qna.habr.com/q/968945
Ответ написан
Комментировать
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
Также вы можете использовать json_encode с флагом JSON_NUMERIC_CHECK

echo json_encode($result, JSON_NUMERIC_CHECK);

json_encode online
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы