可捕获的致命错误:在 json_decode
Posted
技术标签:
【中文标题】可捕获的致命错误:在 json_decode【英文标题】:Catchable fatal error: in json_decode 【发布时间】:2018-03-30 09:09:54 【问题描述】:我想消除 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 格式从数据库返回数据
【问题讨论】:
能否在您的问题中添加$row['my_data']
的示例?谢谢。
json decode 将json string
转换为object
但您更想要一个字符串,而不是将其转换为数组,然后使用implode
进行合并或一些循环,取决于$row['my_data']
【参考方案1】:
json_decode
返回 PHP 对象,然后您尝试使用 echo
将其打印为字符串。这是抛出这个错误。
您必须使用implode
或类似函数将其设为逗号分隔的字符串。然后它肯定会起作用。
因为我不知道$row['my_data']
的价值,所以可以建议你确切的代码。
【讨论】:
非常感谢,我忘了使用函数“implode()”。现在它可以正常工作了。以上是关于可捕获的致命错误:在 json_decode的主要内容,如果未能解决你的问题,请参考以下文章
可捕获致命错误的 FindAll() 结果:DateTime 类的对象无法转换为字符串
可捕获的致命错误:WP_Error 类的对象无法转换为字符串