上篇文章我稍后会参考
我正在制作一个使用 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但我的问题是,我似乎无法弄清楚如何检查它是否为零,因为它是一个对象
为什么不能使查询字符串成为以后可以查询的变量。例如:
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
});