вставлять данные в mysql из данных, закодированных в json (pinterest api oauth), используя переполнение стека

У меня есть пользовательская информация в формате 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

Помоги мне.

1

Решение

$value является объектом, когда он попадает в элемент с индексом ‘image’, когда вы повторяете свой декодированный массив содержимого pintrest. Ваша вставка Mysql ожидает строку, а не объект.

Во-первых, я бы рекомендовал вызывать json_decode со значением true, чтобы преобразовать все в ассоциативные массивы, если только вам не нужно обрабатывать что-либо в теле как объект.

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

Затем проверьте, когда $value является объектом или массивом и до вашей вставки mysql:

  • Преобразуйте объект images в строку json и сохраните $value = json_encode($value);
  • Сериализация объекта изображения $value = serialize($value);;
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]