2016-07-20 2 views
0

Я сделал этот код, чтобы сначала проверить, существует ли пользователь на основе идентификатора пользователя, если да, он должен обновить существующую строку с помощью столбца токена, но, к сожалению, код дублирует пользователя в новой строке.Обновление существующего токена пользователя facebook

$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

Вы используете функцию UPDATE, прежде чем проверять, находится ли пользователь в базе данных. Честно говоря, весь этот код странный. – luschn

+0

@luschn Я думаю, что $ check, $ update действительно проверяет и должен обновлять пользователя? Не могли бы вы рассказать мне лучше? – moorbes

ответ

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/>"; 
} 
Смежные вопросы