Javascript 否则,即使;如果;作品

Javascript 否则,即使;如果;作品,javascript,if-statement,sqlite,Javascript,If Statement,Sqlite,我从SQLite3数据库中获取值并将其放入if-else,但出于某种原因,“if”和“else”起作用。我的代码: // can_ask = 1 - user can ask // can_ask = 0 - user cannot ask // Getting user db.each(`SELECT ${+msg.senderId} AS user_id, can_ask FROM users WHERE user_id = ${+msg.senderId}`, function(err,

我从SQLite3数据库中获取值并将其放入if-else,但出于某种原因,“if”和“else”起作用。我的代码:

// can_ask = 1 - user can ask
// can_ask = 0 - user cannot ask

// Getting user
db.each(`SELECT ${+msg.senderId} AS user_id, can_ask FROM users WHERE user_id = ${+msg.senderId}`, function(err, user) {

   if(user.can_ask == 1) {
      console.log("Works nice!");
      db.run(`REPLACE INTO users(user_id, can_ask) VALUES (${+user.id}, 0);`) // Making "can_ask" a 0.
  } else {console.log("You can't ask!")}
})
如果用户可以要求它返回:

效果不错!
你不能问

如果不能:


你不能问!
你不能问!


为什么其他的都是真的?如何解决此问题?

可能您从查询中获得了多个结果

请按用户id进行分组,以便每行只有一个id

也许你从查询中得到了两个结果。但更重要的是:您很容易受到SQL注入的影响。始终参数化您的SQL。您是否尝试记录
用户的值。是否可以询问
?由于您使用
数据库,很可能会得到更多结果。每个
而不是
数据库。运行
或wahtever@Teemu,我认为没有,因为
db.每个
都已经完成了匹配objects@genhernandez返回1(或0)