如何检查 mysql (node.js) 中是否找不到匹配项?
mysql.query("select * from table1 where name = 'abcd'", function(error, result, field) {
if(error) {
exist(error); //No error
} else if(result) {
console.log(result); //displays '[]'
exist(null, result);
} else {
exist(null, null); //It is never execute
}
});
function exist(error, result) {
if(result)
console.log("Test:"+result); //Executed and displays 'Test:'
}
我的数据库不包含 name = 'abcd'。那么,如何检查查询是否不匹配?
最佳答案
您的查询结果是一个空数组 ([]
),因为正如您所说,您的数据库不包含任何 name = 'abcd '
.
当你这样做时:
if (result) {
if (result)
console.log("Test:" + result);
,您将输入 if
,因为 JavaScript 为 []
评估 true
。看看this article here ,这解释了 JavaScript 如何评估 true
和 false
值。
检查结果数组是否为空的更好方法是:
if (result.length > 0) {
if (result)
console.log("Test:" + result);
关于javascript - 在 node.js mysql 查询中,检查是否没有找到匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24675125/