我正在使用来自https://sourceforge.net/p/wowarmoryapi/home/Home/的 php 库。它从战网中提取 json 数据并出于缓存原因将其存储在我的数据库中。
从 db 获取 json 的代码(我不确定此时是否仍将其视为 json):
$data = $con->query('SELECT Data FROM wa_guilds');
我使用以下代码查看数据:
foreach($data as $row) {
echo "<span style='color:#ff0099'>";
var_dump($row);
echo "</span>"; }
看起来像这样减去错误,这是来自另一个代码:
我尝试了各种方法,主要来自这个站点,以一种易于阅读的方式显示我的数据,但我总是出错。
- 这绝对是一个对象。
if (is_object($data)) { echo "yay!"; }
<--这行得通 - 一旦我使用
$decodedjson = json_decode($data);
它就不再是一个对象,我似乎无法打印结果来查看它的样子。var_dump($decodedjson) 返回 NULL
最后,当我使用以下代码时:
foreach ($data as $da){
echo $da['Data']['character']['name']; }
返回警告:非法字符串偏移 'character'
和:
foreach ($data as $da){
echo $da['character']['name']; }
返回注意:未定义索引:字符
我不明白我做错了什么,或者正确。我是否需要以某种方式将 $data 转换为字符串?
新代码
$sth = $con->query('SELECT Data FROM wa_guilds');
$sth->execute();
$data = $sth->fetchAll(PDO::FETCH_ASSOC);
foreach($data as $row) {
foreach($row as $r) {
$myData = json_decode($r, true);
echo "<span style='color:#ff0099'>";
var_dump($myData['Data']);
echo "</span>"; } }
新错误
空空