Discord.js mysql查询错误无效输入

Posted

技术标签:

【中文标题】Discord.js mysql查询错误无效输入【英文标题】:Discord.js mysql query error not valid input 【发布时间】:2021-04-28 12:20:39 【问题描述】:

我想用我的 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;
        );
    
);

【问题讨论】:

你遇到了什么错误? 【参考方案1】:

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

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

(slice 获取完整的字符串并将其截断到指定的长度)

然后将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;
            )
    
      
    

【讨论】:

以上是关于Discord.js mysql查询错误无效输入的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 Discord.js 欢迎消息中出现“无效的表单正文”错误?

Discord.js Slash 命令名称无效

ReferenceError:discord.js 突击队中分配的左侧无效

当有人在 Discord.js 中键入未知命令时,如何发出“无效命令”消息?

Discord.js 与 mysql (查询,如果不发送消息到通道)

Discord.js DiscordAPIError:无效的表单正文 0.permissions:长度必须为 10 或更少