簡體   English   中英

使用php從json編碼數據(pinterest api oauth)將數據插入mysql

[英]insert data into mysql from json encoded data (pinterest api oauth) using php

我有從pinterest api(oauth)檢索的json格式的用戶信息

$me = $pinterest->users->me(array(
'fields' => 'username,first_name,last_name,image[large]'
));

當我使用json解碼打印(回顯)數據時

$array_data = json_decode($me); 
echo "<pre/>";print_r($array_data);

foreach ($array_data as $key=>$value){

    if($key == 'image'){
        echo $key. " url is=" . $value->large->url .'<br/>';
    }else{

        echo $key. "=" . $value .'<br/>';
    }
}
}

結果:

stdClass Object
(
[id] => 195414208739840616
[username] => rajivsharma033
[first_name] => Rajiv
[last_name] => Sharma
[bio] => 
[created_at] => 
[counts] => 
[image] => stdClass Object
    (
        [large] => stdClass Object
            (
                [url] => https://s-media-cache-ak0.pinimg.com/avatars/rajivsharma033_1459712414_280.jpg
                [width] => 280
                [height] => 280
            )

    )

)

id=195414208739840616
username=rajivsharma033
first_name=Rajiv
last_name=Sharma
bio=
created_at=
counts=
image url is=https://s-media-cache- 
ak0.pinimg.com/avatars/rajivsharma033_1459712414_280.jpg

現在,我想將該數據插入MySQL。 怎么做。 我努力了:

$query = "INSERT INTO pinterest(pin_id) VALUES" .$value;
 $query_signup = mysqli_query($MySQLi_CON, $query);

但它顯示錯誤:

可捕獲的致命錯誤:在第38行的G:\\ XAMPP \\ htdocs \\ a \\ pinterestlogin \\ callback.php中,類stdClass的對象無法轉換為字符串

幫我。

當您迭代解碼的pintrest內容數組時, $value會以索引“ image”命中元素時是一個對象。 您的Mysql插入需要一個字符串,而不是對象。

首先,我建議使用true調用json_decode,以將所有內容轉換為關聯數組,除非您需要將主體中的某些內容視為對象。

$array_data = json_decode($me, true);`

然后檢查$value是對象還是數組,並在mysql之前插入以下兩者之一:

  • 將images對象轉換為json字符串並存儲$value = json_encode($value);
  • 序列化圖像對象$value = serialize($value); ;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM