NodeJS mysql2 "Error: No database selected"

NodeJS mysql2 "Error: No database selected"

我目前正在尝试使用 mysql2 数据库连接包制作一个小的 Discord Bot。当我这样设置我的数据库时:

const con = mysql.createConnection({
    host: process.env.DB_HOST,
    user: process.env.DB_USER,
    database: process.env.DB_DATABASE,
    password: process.env.DB_PASSWORD,
    port: process.env.DB_PORT
});

(我的 .env 文件中的数据是 100% 正确的)然后执行如下查询:

client.database.query("SELECT * FROM `guilds_settings` WHERE `guild` = ?", [message.guild.id], (err, results) => {
        if(err) {
            return client.log.error("Failed loading language for guild " + message.guild.id + ": " + err);
        }
        message.reply(results[0].language);
});

(client.database = con) 这只会给我错误 "Not database selected",即使我在创建连接时选择了数据库。

感谢 esqew 的小提示,我得以修复它。在我的例子中,这是因为我的数据库字符串未定义,因为我在创建连接后做了一些事情来加载 .env 文件。一定要始终把这样的东西放在开头! :)