使用 mysql 和 node.js 的自定义前缀

Posted

技术标签:

【中文标题】使用 mysql 和 node.js 的自定义前缀【英文标题】:Custom prefix using mysql & node.js 【发布时间】:2021-04-23 05:56:57 【问题描述】:
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:无法读取未定义的属性“S_PREFIX”

有人可以帮帮我吗?刚开始学习mysql

【问题讨论】:

【参考方案1】:

result[0]undefined,这意味着您的 SQL 查询没有返回任何结果,这意味着没有 S_IDmessage.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;

【讨论】:

以上是关于使用 mysql 和 node.js 的自定义前缀的主要内容,如果未能解决你的问题,请参考以下文章

带有 Express 框架的 Node.js 中的自定义事件

控制台记录时如何截断(Node)JS错误对象中的自定义字段

markdown Node.js中的自定义ES6错误

给提供的 Node JS 回调我自己的自定义回调

Node.JS + MySQL - 组合查询以定义变量和选择数据

Wordpress 中带有前缀的自定义字段的自定义简码