【发布时间】:2019-03-21 14:49:06
【问题描述】:
我正在尝试来自堆栈溢出的各种答案来编写一个 if 语句,该语句检查 JSON 数组是否已填充或为空。但是,console.log 总是返回 undefined。我使用 node.js 和 webstorm 作为 IDE。我可以得到一些帮助来解决这个问题吗?
function selectData(){
var sql = "SELECT * FROM cust where LastName = '" +registerArray[0]+"'";
con.query(sql, function (err, result) {
console.log(JSON.stringify(result)); //correctly displaying stuffs from db
if (result) { //statement not working correctly.
var pw = "SELECT ID FROM cust where LastName = '" +registerArray[0]+"'";
con.query(pw, function (err, result) {
var idcheck = JSON.stringify(result);
console.log(result); //always shows undefined
if (idcheck !== registerArray[0]){
return ("{re enter correct password}");
} else {
return ("{login successfully}");
}
});
} else {
return("{sign up first}");
}
});
}
con.end();
}
【问题讨论】:
-
只需执行
if (result)即可检查result是假值还是真值 -
您的查询容易受到“sql 注入”攻击。
con.query("SELECT * FROM cust WHERE LastName = ?", [registerArray[0]], function (err, res) { ... })是你要使用的 -
console.log(JSON.stringify(result));带给你什么? -
@iArcadia 第二个 console.log(JSON.stringify(result)) 给出未定义
-
@KunalMukherjee 我应该如何使用它?
标签: javascript sql arrays json if-statement