mysql - 无法读取未定义的属性
问题描述
我在节点 JS 中编写服务器端应用程序,我在 MySQL 中使用数据库。
我收到“TypeError:无法读取未定义的属性‘激活’”
当我在 MySQL 终端中手动执行时,我所做的请求应该说“空集”。
当我尝试在我的代码中使用它并且输入无效的 discord_key 时,它会返回一个错误,但我希望它只返回一个错误警报,以便我可以捕获它并使用该信息。
function checkKey(key) {
var activated = "";
var sqlcheck = "SELECT activated from authentification where discord_ key = ?";
console.log("in function");
DB.query(sqlcheck, [key], function (err, result) {
if (err) throw (err);
activated = result[0].activated;
});
if (!activated) {
console.log("null");
return ("NULL");
} else {
console.log("used");
return ("used");
}
}
我应该得到:
该请求发送一个空集,因此密钥不存在。
谢谢您的帮助!
解决方案
如果没有结果,您可以这样写:
if (err) throw (err);
activated = result.length ? result[0].activated : false;
如果没有结果,那将返回 false。
推荐阅读
- python - 数据框上的 Pyspark UDF 列
- javascript - foreach 中的 Ajax 中的 setTimeout
- javascript - 我可以在这个上使用更高的功能吗?
- mysql - Grails:当域类包含“版本错误”时,数据库行更新会静默失败
- nuget - 使用 VSO 的多平台 Nuget
- ns2 - 我对 ns2 中的图形有一些问题
- java - 需要帮忙??致命错误编译:无效的目标版本:1.8
- android - 开始 YouTube 活动以获得结果
- nginx - nginx 使用默认页面服务 www 子域
- time-series - InfluxDB/Telegraf 如何根据第三个字段计算两个字段之间的差异