mysql - 无法读取未定义的属性

标签 mysql sql node.js

我正在使用 Node 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");
    }
}

我应该得到:

该请求发送一个空集,因此 key 不存在。

谢谢你的帮助!

最佳答案

如果没有结果你可以这样写:

if (err) throw (err);
activated = result.length ? result[0].activated : false;

如果没有结果,将返回 false。

关于mysql - 无法读取未定义的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54596653/

相关文章:

sql - 这个 ADO OPEN 方法有什么作用?

mysql - 将 MySQL 5.6 升级到 5.7

sql - 无法将 lambda 表达式转换为委托(delegate)类型

mysql自然排序给定数据

sql - 需要 SQL 连接方面的帮助

php - 短信到数据库

MySQL错误: #1054 - Unknown column in 'field list'

javascript - Mongoose 响应无法正确解析

node.js - 我需要 Live 服务器上的 "node_modules"文件夹吗

javascript - 将 HTML 源代码转换为读取流