【发布时间】:2021-02-19 04:51:00
【问题描述】:
您好,我遇到了节点 mysql 的问题。
client.on('message', message => {
var con = mysql.createConnection({
host: config.host,
user: config.user,
password: config.password,
database: config.database
});
//con.connect(function (err){ i was try with this
//if(err) console.log(err); i was try with this
con.query(`SELECT * FROM servers`, function (err, result){
result.forEach(row => {
if(row.guild === message.guild.id){
//some code
}
}
}
20/30 分钟。一切正常。 但后来我崩溃了。 我找到了一种解决方案。
client.on('message', message => {
var con = mysql.createConnection({
host: config.host,
user: config.user,
password: config.password,
database: config.database
});
con.query(`SELECT * FROM servers`, function (err, result){
if(result){
result.forEach(row => {
if(row.guild === message.guild.id){
//some code
}
}
}else{
console.log("no result");
}
}
但后来我只收到垃圾邮件“没有结果”,没有任何效果。 有人知道如何让它不仅能工作 20 分钟吗?
【问题讨论】:
-
旁注:您应该创建一个全局连接对象。不是针对您收到的每条“消息”
-
@Marc 但是当我在顶部执行 mysql.createConnection 时,添加 con.end(); forEach 不想工作。
-
不要关闭连接。让它们保持开放并重复使用。仅在退出程序时关闭它
-
然后我的连接超时了。
-
超时是什么意思?!您可以重用现有的 mysql 连接来执行多个查询。查询服务器前,请等待连接成功。
标签: javascript mysql node.js discord.js