php - 如何在数据库的php sdk4中存储facebook的GraphObject?

标签 php mysql json facebook-php-sdk user-data

我想使用 php mysql 将用户兴趣存储在数据库中。输出以 JSON 格式提供,在我使用 print_r() 打印的树状结构中可用:

  Facebook/GraphUser Object
  (
      [backingData:protected] => Array
        (
           [data] => Array
              (
                [0] => stdClass Object
                 (
                   [category]=> Tours/sightseeing
                   [category_list] => Array
                    (
                      [0] => stdClass Object
                        (
                          [id] => 209888929023118
                          [name] => Landmark
                        )
                      [1] => stdClass Object
                        ......

我的代码:

  $user_interest = (new FacebookRequest($session, 'GET', '/me/interests'))  ->execute()->getGraphObject(GraphUser::className());

为了将数据添加到数据库中,我找到了以下代码,但它不起作用:

 for($i = 0; $i < sizeof($user_interest[data]); $i++) 
{
    $name = $user_interest[data][$i]['name'];
    $category = $user_interest[data][$i]['category'];
    $categoryId = $user_interest[data][$i]['id'];
    //$created_time = $user_interest[data][$i]['created_time'];

    $strsql = "INSERT INTO interests(categoryId,category,name) 
               VALUES($categoryId,$category,$name)";

    if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
    }
    else {
echo "Error: " . $sql . "<br>" . $conn->error; }

请帮助我真的被困在这里......

最佳答案

解决了。这是我用的

       $books = (new FacebookRequest($session, 'GET', '/me/books'))
        ->execute()->getGraphObject()->asArray();


  $booksarray=array();
    for($i=0;$i<10;$i++){
      $array = get_object_vars( $books['data'][$i]);
      $booksarray[]=$array['name'];
    }

然后我简单地将数组存储在数据库中:

 function interests($booksarray, $fbid){
    $query = "INSERT INTO Books      (uid,book1,book2,book3,book4,book5,book6,book7,book8,book9,book10) 
VALUES ('$fbid','$booksarray[0]','$booksarray[1]','$booksarray[2]','$booksarray[3]','$booksarray[4]','$booksarray[5]','$booksarray[6]','$booksarray[7]','$booksarray[8]','$booksarray[9]')";

 mysql_query($query); 
}

如果对此有任何改进,我们将不胜感激。谢谢

关于php - 如何在数据库的php sdk4中存储facebook的GraphObject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28611253/

相关文章:

php - 如何在 mysql php 中构建动态运行时查询?

javascript - 连接 JSON 对象中的设备读数 - Javascript

php - Json_encode-将数组转换为json对象

php - 如果我在 phpmyadmin 上删除一个 mySQL 数据库,它会影响上传到我的 ftp 服务器上的内容吗?

php - MySQL REGEXP 只匹配整个单词

php - PHP SOAP 类转换如何工作以及如何获得一致的列表结果?

mysql - 帮助完成一个相当简单的 MySQL 查询

sql - 关系数据库设计 (MySQL)

mysql - 如何将 MySQL JOOQ 重命名表查询范围限定在同一个数据库中?

javascript - 如何在javascript中制作Json数组