我使用此代码首先检查用户是否存在基于userid,如果是,它应该使用令牌列更新现有行,但不幸的是,代码会在新行中复制用户。
$userid = $user['id'];
$check="SELECT COUNT(*) FROM user WHERE userid = '$userid'";
$update="UPDATE user SET token='$accessToken' WHERE userid = '$userid'";
$rs1 = mysqli_query($db,$update);
$rs = mysqli_query($db,$check);
$data = mysqli_fetch_array($rs, MYSQLI_NUM);
if($data[0] > 1) {
echo "User exists, token updated<br/>";
}
else
{
$newUser="INSERT INTO user (userid, token) VALUES ('{$userid}', '{$accessToken}')";
if (mysqli_query($db,$newUser))
{
echo "User added.";
}
else
{
echo "Not working.<br/>";
}
}`
有人能告诉我问题出在哪里。谢谢!
答案 0 :(得分:0)
将$update
查询放在您确定用户存在的代码块中。
if($data[0] > 1) {
$update="UPDATE user SET token='$accessToken' WHERE userid = '$userid'";
$rs1 = mysqli_query($db,$update);
echo "User exists, token updated<br/>";
}