https://sourceforge.net/p/wowaroryapi/home/Home/の php ライブラリを使用しています。Battle.net から 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']; }
警告を返します: 不正な文字列オフセット '文字'
と:
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>"; } }
新しいエラー
ヌルヌル