javascript - 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;
});
}
});
解决方案
您接管了完整的消息内容,因此发生错误创建一个变量并为其提供消息内容
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;
})
}
}
推荐阅读
- c# - 无法在 Unity .exe 上使用编辑器位置提供程序(Mapbox)
- node.js - 在没有构建器的情况下以编程方式使用 Nuxt
- firebase - “_OBJC_CLASS_$_FIRAnalytics”,引用自 libRNFirebase.a(RNFirebaseAnalytics.o) 中的 objc-class-ref
- angular - 删除并再次添加到dom后自动对焦不起作用
- javascript - 使用nodeJS登录像pm2这样的表
- dataweave - 使用 p() 函数 mule 在 dataweave 2.0 中获取安全属性
- android - 当应用程序在android上恢复时,React Native StatusBar translucent 未设置为true
- ansible - Ansible:按特定字段比较两个数组
- php - 使用 php 的 Wordpress 自定义小部件
- r - 如何处理具有不同长度的列表?