Исправляемая фатальная ошибка: в json_decode

0

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

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

Допустимая фатальная ошибка: объект класса stdClass не может быть преобразован в строку в 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

  • 1
    Не могли бы вы добавить к вашему вопросу пример $row['my_data'] ? Спасибо.
  • 2
    json decode преобразует json string в object но вам скорее нужна строка, лучше преобразовать ее в массив, а затем использовать implode для объединения или некоторых циклов, в зависимости от $row['my_data']
Теги:
arrays
jsondecoder

1 ответ

1
Лучший ответ

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

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

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню