db.query 不工作并且不给出任何响应

问题描述 投票:0回答:0

我有一个小问题。我试图在不和谐的机器人中建立经济系统。我编写了一个代码来添加钱命令。 我正在使用 mysql。当我尝试从数据库中选择时,它起作用了。但是当我尝试使用 db.query 进行更新时,它就不起作用了。看起来命令已成功完成,它甚至没有为控制台提供任何反馈。但是当我查看数据库时,没有任何变化。所以这个命令看起来他已经完成了,但实际上并没有。

我的代码:

//Importovani discord.js balicku do kodu
const {
  Client,
  GatewayIntentBits,
  Discord,
  Partials,
  EmbedBuilder,
  SlashCommandBuilder,
  PermissionFlagsBits,
  message
} = require('discord.js');
const client = new Client({
  intents: [GatewayIntentBits.Guilds],
  partials: [Partials.Channel]
});

var db = require('../nastaveni/db.js');

module.exports = {
  //Data comanndu
  name: 'bal-add',
  description: "Zašle někomu peníze adminonly.",
  data: new SlashCommandBuilder()
    .setName('bal-add')
    .setDescription('Zašle někomu peníze adminonly.')

    .addStringOption(option =>
      option.setName('pridat')
      .setDescription('Kolik chceš někomu přidat!')
      .setRequired(true))
    //Kdo to je
    .addStringOption(option =>
      option.setName('cislouctu')
      .setDescription('Číslo účtu pro poslání')
      .setRequired(true))
    .setDefaultMemberPermissions(PermissionFlagsBits.Admin),

  //Spusteni scriptu pri interakci
  async execute(interaction) {
    let pridat = parseInt(interaction.options.getString('pridat'));
    const clovek = interaction.options.getString('cislouctu');

    db.query("SELECT penize FROM charaktery WHERE cislouctu = '" + clovek + "'", function(err, result) {
      if (err) {
        console.log("Došlo k chybě při ověřování účtu.");
        return
      } else if (result.length === 0) {
        interaction.reply({
          content: "Je nám to líto ale číslo účtu které jste zadal neexistuje. Pokud jste si jist že dané číslo existuje kontaktujte naší podporu",
          ephemeral: true
        })
        return
      }
      var bal = parseInt(result[0].penize)
      var balnove = pridat + bal

      const newEmbed = new EmbedBuilder()
        .setColor("#4f4f4f")
        .setTitle("Přidání peněz")
        .addFields({
          name: 'Púvodní zůstatek',
          value: " " + bal
        }, {
          name: "Nový zůstatek",
          value: " " + balnove
        })
        .setFooter({
          text: "Přidání peněz"
        })

      var sql2 = "UPDATE charaktery SET penize = '" + balnove + "' WHERE cislouctu = '" + balnove + "'";

      db.query(sql2, function(err) {
        if (err) throw err;
      });

      interaction.reply({
        embeds: [newEmbed],
        ephemeral: true
      });
    })
  }
}

只是不想工作。我不知道如何在 js 中使用数据库,我在这方面真的很陌生。谢谢大家的支持

javascript mysql sql database
© www.soinside.com 2019 - 2024. All rights reserved.