我编写这段代码是为了首先根据userid检查用户是否存在,如果是,它应该用token列更新现有行,但不幸的是,代码在新行中复制了用户。
$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/>";
}
}`
有人能告诉我问题出在哪里吗。谢谢
将$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/>";
}