javascript - SQLite 错误代码号 1 : Syntax Error

标签 javascript node.js sqlite discord

所以我有一个discord.js 机器人,并且我使用SQLite3 来存储一些静音信息。

const sqlite = require('sqlite3').verbose();
var modDb = new sqlite.Database('moderation');

modDb.serialize(function() {
    modDb.run("DROP TABLE IF EXISTS mute");
    modDb.run("DROP TABLE IF EXISTS ban");
    modDb.run("CREATE TABLE IF NOT EXISTS mute (id INT, username TEXT, discriminator TEXT, dateBegin INTEGER, dateEnd INTEGER, modID TEXT)");
    modDb.run("CREATE TABLE IF NOT EXISTS ban (id INT, username TEXT, discriminator TEXT, dateBegin INTEGER, dateEnd INTEGER, modID TEXT)");
});

然后我有代码继续在另一个文件上

const sqlite = require("sqlite3").verbose();
var db = new sqlite.Database('moderation');

db.serialize(function() {
  var stmt = db.prepare(`INSERT into mute values(
                        ${user.id},
                        ${user.username},
                        ${user.discriminator},
                        ${Date.now()},
                        ${Date.now() + muteTime},
                        ${message.author.tag});`,
    function(err) {
      if (err) return console.error(err);
    });
  stmt.finalize();
  console.log(stmt);
  console.log(Date.now());
  console.log(muteTime);
  db.each("SELECT * FROM mute", function(err, row) {
    if (err) {
      console.error(err);
    } else {
      console.log(row);
    }
  });

});
db.close();

当我运行它时,它在控制台中给出了这个错误:

{ Error: SQLITE_ERROR: near "#3522": syntax error errno: 1, code: 'SQLITE_ERROR' }

#3522 指的是 message.author.tag,它从 discord api 返回作者的姓名和鉴别符。我认为这是一个语法错误,但我不知道语法错误在哪里。我这样做错了吗?

最佳答案

您没有正确地将值传递到 db.prepare 中:

var stmt = db.prepare(`INSERT into mute values(?, ?, ?, ?, ?, ?);`);
stmt.run(user.id, user.username, ...)

关于javascript - SQLite 错误代码号 1 : Syntax Error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43795696/

相关文章:

javascript - ReactJS:单独渲染状态而不是作为数组

c++ - 无法安装和定位 libsqlite3.a

java - BlackBerry 上的 SQLite 出现 SQL 逻辑错误或丢失数据库错误

c# - SQLiteDataReader.read() 清空结果?

javascript - 悬停时如何以某种方式突出显示表格单元格

javascript - JSON 输出未正确显示,javascript

javascript - 具有相同 CSS 代码的 Chrome 和 Safari 中的不同中心

javascript - 引用错误: browser is not defined - Using Karma and Jasmine

node.js - Node.js Knex与Sequelize有何相似/不同?

node.js - 使用 Node JS 的 HLS 流