У меня есть пользовательская информация в формате json, полученная из pinterest api (oauth)
$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);
но это показывает ошибку:
Исправляемая фатальная ошибка: объект класса stdClass не может быть преобразован в строку в G: \ XAMPP \ htdocs \ a \ pinterestlogin \ callback.php в строке 38
Помоги мне.
$value
является объектом, когда он попадает в элемент с индексом ‘image’, когда вы повторяете свой декодированный массив содержимого pintrest. Ваша вставка Mysql ожидает строку, а не объект.
Во-первых, я бы рекомендовал вызывать json_decode со значением true, чтобы преобразовать все в ассоциативные массивы, если только вам не нужно обрабатывать что-либо в теле как объект.
$array_data = json_decode($me, true);`
Затем проверьте, когда $value
является объектом или массивом и до вашей вставки mysql:
$value = json_encode($value);
$value = serialize($value);
;Других решений пока нет …