javascript - 使用 mysql 和 node.js 的自定义前缀
问题描述
var prefix = `SELECT S_PREFIX FROM ServerConfigs WHERE S_ID = ${message.guild.id}`; connection.query(prefix, function (err, result, fields) { if (err) return console.log(err); let res = JSON.parse(JSON.stringify(result[0].S_PREFIX)); const serverPREFIX = res;
它可以工作,但有时它会给我写一个错误来控制台。错误如下所示: TypeError: Cannot read property 'S_PREFIX' of undefined
有人可以帮我吗?刚开始学习MYSQL。
解决方案
result[0]
is undefined
,这意味着您的 SQL 查询没有返回任何结果,这意味着没有带有S_ID
being的行message.guild.id
。只需检查结果数组是否为空。
var prefix = `SELECT S_PREFIX FROM ServerConfigs WHERE S_ID = ${message.guild.id}`;
connection.query(prefix, function (err, result, fields) {
if (err) return console.log(err);
if (result.length < 1) {
console.log(`No results for S_ID = ${message.guild.id}`)
return;
}
let res = JSON.parse(JSON.stringify(result[0].S_PREFIX));
const serverPREFIX = res;
推荐阅读
- javascript - 辅助系列上的 Highmaps get() 函数
- python - 在另一个循环内调用时的 Python 循环行为
- azure - Azure API Set-body JSON to JSON 隐蔽
- html - XSL - 如何匹配或选择空元素以插入生成的内容
- flutter - 如何获得响应式 Flutter 布局?
- php - 为什么在 Authenticatable 中找不到方法?使用带有 Stripe API 的 Laravel 6 Cashier 10?
- filter - 如何根据属性过滤neo4j中的节点列表
- sql-server - 删除所有非字母数字字符、上标和下标的函数,破折号“-”除外
- r - 如何将 na_rm 与 rpy2 rlf.tapply 函数一起使用
- jjwt - 为什么我的代码会跳过try语句直接进入catch?