簡體   English   中英

連接到MySQL數據庫后Node.js崩潰

[英]Node.js crashes after connecting to mysql database

基本上,node.js將完美地運行該函數,它將繼續運行約10秒鍾,然后便會崩潰。 下面是完整的代碼,因為我不知道是什么部分導致了實際錯誤,但我希望有人能看到我在搞砸。

const Discord = require("discord.js");
const client = new Discord.Client();
const config = require("./config.json");
var fs = require('fs');
var mysql = require('mysql');
const path = require('path');

client.on("ready", () => {
  console.log('Running...');
});

var con = mysql.createConnection({
    host: "",
    user: "",
    password: "",
    database: "",
});

client.on("message", async message => {
    if (message.author.bot) return;
    if (!message.guild) {
        message.reply('Please do not DM the bot.');
        return;
    };
    if (message.content.toLowerCase() == "!script") {
        if (message.channel.name != "bot-chat") {
            message.author.send('Please only use bot commands in the #bot-chat channel.');
            return;
        };
        con.connect(function(err) {
            if (err) throw err;
            con.query("SELECT * FROM Users", function (err, result, fields){
                if (err) throw err;
                result.forEach(function(User){
                    var UserDiscord = User.DISCORD;
                    var UserKey = User.SKEY;
                    if (usr_dc == message.author.username+"#"+message.author.discriminator) {
                        message.author.sendCode("php",usr_key)
                        .then()
                        .catch(console.log);
                        if (message.guild.name == "Towlie Boi") {
                            message.author.sendCode("lua",`_G.key='KeyHere'
    loadstring(game:HttpGet("https://basehosting.xyz/sCrIpT1"))()`)
                        .then()
                        .catch(console.log);
                        message.channel.send('Script has been sent to your DMs, If you did not receive a DM then you have not allowed the bot to send you DMs');
                        .then()
                        .catch(console.log);
                        };
                    };
                });
            });
        });
    } else if (message.channel.name == 'whitelist') {
        if (message.content.substring(0,3).toLowerCase() == '!wl') {
            con.connect(function(err) {
                if (err) throw err;
                con.query("SELECT * FROM Keys", function(err, result, fields) {
                    if (err) throw err;
                    result.forEach(function(Key) {
                        var key = Key.Code;
                        if (message.content.substring(4) == key) {
                            var query = "DELETE FROM `Keys` WHERE `Keys`.`Code` = \'"+message.content.substring(4)+"\'";
                            con.query(query, function(err) {
                                if (err) throw err;
                                con.query("INSERT INTO `Users` (`DISCORD`, `SKEY`, `IP`) VALUES ('"+message.author.username+"#"+message.author.discriminator+"', '"+message.content.substring(4)+"', '');", function(err) {
                                    if (err) throw err;
                                    message.reply('Whitelisted Succesfully');
                                    return;
                                });
                            });
                        };
                    });
                });
            });
        };
    };
};

client.login(config.token);

我真的看不到錯誤,因為我剛剛開始為node.js編碼並且對javascript不太了解,所以我認為在將數據放入隊列后我可能不得不關閉連接,但這似乎也不起作用。 感謝您的任何回答:)

如何從一個單獨的文件連接數據庫連接。

module.exports = {
    host     : 'localhost',
    user     : 'root',
    password : '',
    database : 'bookstore',
    charset  : 'utf8'
}

並繼續進行控制。

var database = require('../models/database.js')();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM