Previous post I will refer to later
我正在制作一个使用MySQL的Discord机器人,但这无关紧要,我正在尝试建立一个黑名单数据库,因此其中的用户无法使用我的机器人
这是我到目前为止所得到的:
con.query("SELECT EXISTS( SELECT 1 FROM `blacklist` WHERE `id` = '"+message.author.id+"')", function(error, result, field) {
if(error) throw error;
});
这种方法有效,这是我的输出
[ RowDataPacket {
'EXISTS( SELECT 1 FROM `blacklist` WHERE `id` = \'227090776172134400\')': 1 } ]
最后一个数字的作用类似于布尔值,如果行存在则为1,如果不存在,则为0 但我的问题是,我似乎无法弄清楚如何检查它是否为零,因为它是一个对象
答案 0 :(得分:0)
为什么不能使查询字符串成为您稍后可以查询的变量。例如:
let conStr = "SELECT EXISTS( SELECT 1 FROM `blacklist` WHERE `id` = '"+message.author.id+"')";
con.query(conStr, function(error, result, field) {
if(error) throw error;
console.log(result[conStr]); //--> 1
});