Уловимая фатальная ошибка: в json_decode

Я хочу исключить формат представления JSON и возвращать данные в виде строки с запятой.

Когда я использую json_decode($row['test_row']), он возвращает мне

Catchable fatal error: Object of class stdClass could not be converted to string in C

<?php 
try {
        $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password );    
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $sql = 'SELECT * FROM database.test;' ;
        $get_all_data = $conn->prepare($sql);
        $get_all_data -> execute(array($sql));
        $all_row = $get_all_data->fetch(PDO::FETCH_ASSOC); 
        $all = $all_row;
    }
   catch(PDOException $e)
         {
           echo $sql . "<br>" . $e->getMessage();
         }

вот таблица, головка таблицы:

    echo "<tbody>";
    echo "<table>";
          $conn = null;   
    while($row = $get_all_data->fetch(PDO::FETCH_ASSOC)) 
{   

echo "<tr>  
       <td>" . json_decode($row['my_data']) . "</td> 
      </tr>";  
} 
    echo "</tbody>";
    echo "</table>";  ?>

Если я позволю $row['my_data'], он вернет мне данные из базы данных в формате JSON.

Не могли бы вы добавить к вашему вопросу пример $row['my_data']? Спасибо.

Syscall 30.03.2018 11:14

json decode преобразует json string в object, но вам нужна строка, а не преобразование ее в массив, а затем использование implode для слияния или некоторых циклов, зависит от $row['my_data']

frunkad 30.03.2018 11:15
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
70
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

json_decode возвращает объект PHP, который затем вы пытаетесь распечатать в виде строки с помощью echo. Это вызывает эту ошибку.

Вам нужно будет сделать это строкой, разделенной запятыми, с помощью implode или подобной функции. Тогда это обязательно сработает.

Поскольку я не знаю значения $row['my_data'], могу предложить вам точный фрагмент кода.

Большое спасибо, я забыл использовать функцию «implode ()». Теперь все работает правильно.

Michael Shtefanitsa 30.03.2018 11:27

Другие вопросы по теме