Heroku postgres error: запрос должен быть массивом при выборе данных
так что им делать dscord бот и я использовал SQLite, но потому что ему узла (на Heroku) я не могла использовать это. Тэй сказал что мне нужно использовать postgres поэтому я обновил свой код для использования но я не могу заставить его работать для создания моей таблицы я использую этот код
client.query('CREATE TABLE users(name text, money bigint);', (err, res) => { if (err) throw err; for (let row of res.rows) { console.log(JSON.stringify(row)); } client.end(); });
это прекрасно работает, таблица создана.
затем для insertinf данных я использую это:
client.query(`INSERT INTO users(name,money) SELECT ${message.author.id},0 WHERE NOT EXISTS(SELECT 1 FROM users WHERE name = '${message.author.id}'); `, (err, res) => { if (err) throw err; message.reply(`inserted data`); });
это тоже работает, я думаю.
но потом, когда я захотел получить данные с помощью:
client.query(`SELECT * FROM users WHERE name = ?`, id,(err, row) => { if(err) throw err; console.log(id); if (!row) return message.reply(`${name} has no money`); message.reply(`${name} has ${row.money} money`); });
я получаю эту ошибку:
G:\dolphin casino\cmds\money.js:17 if(err) throw err; ^ Error: Query values must be an array at Query.submit (G:\dolphin casino\node_modules\pg\lib\query.js:156:17) at Client._pulseQueryQueue (G:\dolphin casino\node_modules\pg\lib\client.js:356:24) at Client.query (G:\dolphin casino\node_modules\pg\lib\client.js:393:8) at Object.module.exports.run (G:\dolphin casino\cmds\money.js:16:10) at Client.bot.on.message (G:\dolphin casino\bot.js:80:14) at emitOne (events.js:96:13) at Client.emit (events.js:188:7) at MessageCreateHandler.handle (G:\dolphin casino\node_modules\discord.js\src\client\websocket\packets\handlers\MessageCreate.js:9:34) at WebSocketPacketManager.handle (G:\dolphin casino\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:103:65) at WebSocketConnection.onPacket (G:\dolphin casino\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:333:35)
что странно, потому что столбец name-это текст, а не массив.
кто-нибудь знает, что происходит ?
Что я уже пробовал:
поиск в интернете. но я так и не нашел решения.