可捕获的致命错误:在json_decode中

时间:2018-03-30 09:09:55

标签: php mysql arrays json jsondecoder

我想要消除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 个答案:

答案 0 :(得分:1)

json_decode返回PHP对象,然后您尝试使用echo作为字符串打印。这引发了这个错误。

您必须使用implode或此类函数将其设为逗号分隔的字符串。它肯定会奏效。

因为我不知道$row['my_data']的价值,所以可以建议你确切的代码。