首页 > 解决方案 > Discord.js mysql查询错误无效输入

问题描述

我想用我的 Discord.js 机器人进行 MySQL 查询,但是,我总是得到一个错误。

我的代码:

client.on("message", async (message) => {
    if (message.content.startsWith("?userinfo")) {
        database.query("SELECT members FROM usertable WHERE username=?", [message.content], function (err, results) {
            if (err) {
                throw err;
            }
            //console.log(results[0]);

            var resultArray = Object.values(JSON.parse(JSON.stringify(results[0])));
            console.log(resultArray);
            steamid = resultArray;
        });
    }
});

标签: javascriptmysqlnode.jsdiscorddiscord.js

解决方案


您接管了完整的消息内容,因此发生错误创建一个变量并为其提供消息内容

var messageContent = message.content.slice(10);

(切片获取完整的字符串并将其截断为指定的长度)

然后将sql查询中的message.content替换为“messageContent”。

例子:

    client.on('message', async message => {
        if (message.content.startsWith('?userinfo')) {
            var messageContent = message.content.slice(10);
            database.query('SELECT members FROM usertable WHERE username=?', [messageContent], function (err,results) {
                if (err) {
                    throw err;
                }
                //console.log(results[0]);
    
                var resultArray = Object.values(JSON.parse(JSON.stringify(results[0])));
                console.log(resultArray);
                steamid = resultArray;
            })
    
      }
    }

推荐阅读