【发布时间】:2017-01-19 23:32:10
【问题描述】:
我的数据库中存储了一个 json 数据,如下所示:
'field_data" => '{"primary":"apple"}'
然后我把它解码成一个数组:
$decoded = json_decode($query['field_data'],1);
echo $decoded['primary'];
我得到的结果是:
Undefined index: primary
如果我尝试调试它,我可以看到该值。 我试图在不从数据库查询的情况下解码数据以隔离我的问题
$data = '{"primary":"apple"}';
$decoded = json_decode($data,1);
echo $decoded['primary'];
而且效果很好。如何使用键访问查询数据中的值?
【问题讨论】:
-
MySQL 从 5.7.8 开始支持原生 JSON 数据类型。如果您可以更改字段的数据类型,它将使您的生活更轻松。
-
所以如果你
var_dump($query['field_data'])你确定它包含你所期望的......? -
您是否有错误报告。打开?
error_reporting(E_ALL) -
是的,如果我使用 var_dump()、print_r() 或 dd(),我可以获得值
-
哎呀,我看到你提到了错误消息。