如何将访问令牌插入MySQL数据库?

问题描述 投票:0回答:1

我正在尝试将Instagram访问令牌插入Mysql数据库。请记住,这只是出于练习目的。

我有一个数据库结构,用于存储Instagram访问令牌:here

所以,我想做的是,在成功完成的DB中插入带有username的Instagram 访问令牌。现在,如果每个访问令牌代表单个用户,那么我想要的是:

如果用户已经存在于数据库中,则从数据库中获取访问令牌并将其传递给GetUserProfileInfo(),如果该用户不存在于数据库中(新用户),则将访问令牌插入数据库中。

这是我的错误做法:p

$insta_data = $instagram_ob->GetAccessToken(INSTAGRAM_CLIENT_ID, INSTAGRAM_REDIRECT_URI, INSTAGRAM_CLIENT_SECRET, $_GET['code']);

$exist = new existance();
$user_exist = $exist-> exist($insta_data['user']['id']);

if($user_exist == 0) //user not exist {
    $instagram_ob->insertoken($insta_data['access_token'], $insta_data['user']['username']); //calling function to insert access token into db

}else {
    $data = $exist-> fetch($insta_data['user']['id']); // fetch user details from db

    if($data) {
        // Get user insta information
        $user_info = $instagram_ob->GetUserProfileInfo($data['access_token']);
        echo 'db access token';
    } else {
        // Get user insta information
        $user_info = $instagram_ob->GetUserProfileInfo($insta_data['access_token']);
        echo 'api access token';
    }
}

$user_exist始终为0,我不知道为什么:/

获取类

class existance
{
    public function exist($insta_id)
    {
        $Dbobj = new DbConnection();  
        $query = mysqli_query($Dbobj->getdbconnect(), "SELECT id FROM access WHERE uid='.$insta_id.'");
        $total = mysqli_num_rows($query);
        return $total;
    }

    public function fetch($insta_id)
    {
        $Dbobj = new DbConnection(); 
        $query = mysqli_query($Dbobj->getdbconnect(), "SELECT * FROM access WHERE uid='.$insta_id.'");
        $fetch_data = mysqli_fetch_array($query);

        return $fetch_data;
    }
}

我真的不确定这是否是一个好习惯,但我会尽我所能,同时也在寻找其他选择,如果有人在这方面指导我,这将是我的荣幸:)

php mysql api instagram
1个回答
0
投票

我在数据库中的任何地方都看不到uid

您是要写access_token

$query = mysqli_query($Dbobj->getdbconnect(), "SELECT id FROM access WHERE access_token='.$insta_id.'");代替?

© www.soinside.com 2019 - 2024. All rights reserved.