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
文件。一定要始终把这样的东西放在开头! :)
我目前正在尝试使用 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
文件。一定要始终把这样的东西放在开头! :)