2017-07-01 21 views
0

ImはJSONで価格を取った後、mysqlのテーブルにアップロードしようとしているが、私はこのエラーを取得:

PHPのお知らせ:不定プロパティ:stdClassの::ライン上でanalyst.phpで$結果23

23日のLINEは次のとおりです。

$items_count = count($items->results); 

$db = new db(DB_USER, DB_PASS, DB_HOST, DB_NAME, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8')); 
if($db) echo " => Connected!\n"; 
else exit(" => ERROR! Aborting!\n"); 

echo "=> Getting new pricelist from analyst\n"; 
if($curl = curl_init()) { 
     curl_setopt($curl, CURLOPT_URL, "http://analyst.x-se.ru/"); 
     curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); 
     $urljson = curl_exec($curl); 
     curl_close($curl); 
} 
if($urljson) echo " => Completed!\n"; 
else exit(" => Failed! Aborting!\n"); 

$items = (object)json_decode($urljson); 
$items_count = count($items->results); 
$percent = 0; 
echo " => Downloaded $items_count items\n"; 
if($items_count < 2000) exit("=> Incorrect array of items, aborting!\n"); 
+0

あなたの23番目の行のコードは何ですか? –

+2

'var_dump($ items)'とチェック結果が利用可能かどうか –

+3

'results'はあなたの' $ items'にありません –

答えて

0

$itemsオブジェクトは$urljson変数から来ています。 $urljsonが存在しない場合は、その変数についてNOTICEと表示されることは明らかです。 したがって、私によれば、if($urljson){にチェックインしているときに、この2〜3行のコードをこのスコープに入れることができます。

$urljsonは、その他の条件で初期化されません。

$urljsonが存在する場合、コードはさらに進歩します。そうでない場合はelseが実行されます。

更新されたコード

$db = new db(DB_USER, DB_PASS, DB_HOST, DB_NAME, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8')); 
if($db){ 
    echo " => Connected!\n"; 
} else { 
    exit(" => ERROR! Aborting!\n"); 
} 

echo "=> Getting new pricelist from analyst\n"; 
if($curl = curl_init()) { 
    curl_setopt($curl, CURLOPT_URL, "http://analyst.x-se.ru/"); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); 
    $urljson = curl_exec($curl); 
    curl_close($curl); 
} 

if($urljson){ 
    echo " => Completed!\n"; 

    $items = (object)json_decode($urljson); 
    $items_count = count($items->results); 
    $percent = 0; 
    echo " => Downloaded $items_count items\n"; 
    if($items_count < 2000){ 
    exit("=> Incorrect array of items, aborting!\n"); 
    } 

} else { 
    exit(" => Failed! Aborting!\n"); 
} 
関連する問題