我正在尝试将 Instagram 访问 token 插入 Mysql 数据库。请记住,这仅用于练习目的。
我有一个像这样的数据库结构,用于存储 Instagram 访问 token :
所以,我想做的是,将带有用户名的Instagram 访问 token 插入数据库中,我已经成功做到了。现在,如果每个访问 token 代表单个用户,那么我想要的是:
如果用户已存在于数据库中,则从数据库中获取访问 token 并将其传递给GetUserProfileInfo()
,如果用户不存在于数据库中(新用户),则插入访问权限数据库中的 token 。
这是我的不好的做法: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;
}
}
我真的不确定这是否是一个好的做法,但尽我所能,但也在寻找一些替代方案,如果有人指导我,我将很高兴:)
最佳答案
我在数据库中的任何位置都没有看到 uid
。
你的意思是写access_token
$query = mysqli_query($Dbobj->getdbconnect(), "SELECT id FROM access WHERE access_token='.$insta_id.'");
而是?
关于php - 如何将访问 token 插入MySQL数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58455747/