在node.js中的mysql查询,检查是否找不到匹配
我如何检查在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:' }
我的数据库不包含名称='abcd'。 那么,如何检查查询是否不匹配呢?
您收到一个空数组( []
)作为查询的结果,因为如您所说, 您的数据库不包含任何name = 'abcd'
。
当你这样做时:
if (result) { if (result) console.log("Test:" + result);
,您将inputif
,因为Javascript对[]
计算结果为true
。 看看这篇文章 ,这解释了如何评估true
值和false
值。
检查结果数组是否为空的更好方法是:
if (result.length > 0) { if (result) console.log("Test:" + result);