MySQL请求返回未定义

时间:2019-02-06 19:09:04

标签: mysql sql node.js

所以我正在用JS编写程序,而我正在使用mysql。

我正在向数据库发送请求,应该返回fs,但是每次我收到using (var vReader = new StreamReader("filename")) { string myLine = string.Empty; while ((myLine = vReader.ReadLine())!=null) { //DO SOMETHING WITH myLine } } 时,我都不明白为什么。我在堆栈溢出中看到了一些答案,但我不理解。

这是我的职能:

"Null"

"undefined"返回async function checkKey(key) { var activated = ""; var sqlcheck = "SELECT activated from authentification where discord_key = ?"; console.log("in function"); await DB.query(sqlcheck, [key], function (err, result) { if (err) throw (err); console.log("test"); console.log(result[0].customerID); activated = result[0].customerID; }); if (activated == "Null") { return ("NULL"); } else { return ("used"); } }

此刻我在另一个函数中调用它:

console.log(result[0].customerID);

是否可以等待功能"undefined"完成后再继续?

这些是我的日志:

if (checkKey(key) == "NULL") {
    try {

它应该说:

"checkkey"

主要功能继续运行,而无需检查功能是否结束。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

  

if (activated == "Null")

NULL不是字符串,它是SQL语言中的一个特殊值,表示该值是未知的,即未定义。

当您的数据库驱动程序从数据库中检索到NULL值时,它会将其转换为与您正在使用的计算机语言中的NULL概念相对应的任何值,在javascript中这将是{{1 }}变量。

您可以简单地将此条件重写为布尔检查:

undefined

这将捕获if (!activated) 为空字符串,未定义值,错误的布尔值和数字activated的情况。

如果您想允许0,则:

0
相关问题