保存数据时出错,无法读取未定义的属性'get'

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

IM试图设置更好的sqlite3以保存数据,我正在遵循一个白痴指南,但是无论我是否将其实现到我的代码中,它都会给我带来错误。我正在谈论的错误是TypeError:无法读取未定义的属性“ get”。这是我的代码:

 if (message.content.startsWith(`${prefix}bclear`)) {
                                    message.delete()

                                    score = client.getScore.get(message.author.id);

                                    if (!score) {
                                        score = { id: `${message.author.id}`, points: 0};
                                      }
                                    score.points++;
    }

是的,我定义了getScore

  client.getScore = sql.prepare("SELECT * FROM scores WHERE id = ?");

感谢您的帮助!

javascript sqlite discord
2个回答
0
投票

您为什么不使用

client.getScore = sql.prepare(`SELECT * FROM scores WHERE id = ${message.author.id}`);

您使用?的原因?是为了防止SQL注入,但这不是必需的,因为用户无法远程输入数据。


0
投票

您在条件语句中要做的第一件事是“ message.delete()”。如果没有看到'message'的数据结构,我猜想这将删除消息对象本身,从而导致对'message.x.x'的任何引用均失败。

我猜您正在尝试仅删除消息对象的一部分,但也许您正在删除整个对象。

© www.soinside.com 2019 - 2024. All rights reserved.