Discord.js и PostgreSQL строки hbucks не определены - PullRequest
0 голосов
/ 17 сентября 2018

DUPLICATE POST: Это связано с тем, что я случайно удалил свою учетную запись ... Не спрашивайте, почему.Я только что сделал LOL.Я прошу прощения за то, что это дублирующее сообщение, но у меня больше нет доступа к этому сообщению.

Недавно я только что переключился с MySQL на PostgreSQL с точки зрения баз данных для моего нового бота Discord.js.Я продолжаю получать сообщение об ошибке, говоря, что строки hbucks не определены или не определены.Код ниже.

let mysql = require("pg");
function generateXp(){
  let min = 1;
  let max = 3;
  return Math.floor(Math.random() * (max - min)) + min;
}



module.exports = (bot, message, args, con) => {
  con.query(`SELECT * FROM hbucks WHERE id = ${message.author.id} AND guildid = ${message.guild.id}`, (err, rows) => { //Where id defines what row to use, this is stating that you are going to organize it by the id
    if(err) throw err;

    let sql;
    let username = message.author.username
    let authorid = message.author.id
    if(rows.length < 1) {
      sql = `INSERT INTO hbucks (id, username, guildid, hbucks) VALUES (${message.author.id}, '${username}', ${message.guild.id}, ${generateXp()})`
      con.query(sql);
    } else {




      let hBucks = rows.fields[0].hbucks;



      sql = `UPDATE hbucks SET hbucks = ${hBucks + generateXp()} WHERE id = ${authorid} AND guildid = ${message.guild.id}`;
      con.query(sql, console.log);
      sql = `UPDATE hbucks SET username = '${username}' WHERE id = ${authorid} AND guildid = ${message.guild.id}`;
      con.query(sql, console.log);

    }


}
);



}

И ошибка в том, что hBucks = row [0] .hbucks не определен.Этот код, кажется, работает и не имеет никаких проблем с MySQL

1 Ответ

0 голосов
/ 17 сентября 2018

Используйте это вместо:

// Assuming you want the whole object.
let hBucks = rows.fields[0];

Вот объект rows.fields [0]:

{name: "id", tableID: 16395, columnID: 5, dataTypeID: 20, dataTypeSize: 8, …}

Вы можете получить доступ к его полям следующим образом:

var id= rows.fields[0].name;
var tableId = rows.fields[0].tableID;
var columnID = rows.fields[0].columnID;
// ....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...