在node.js mysql查询中,检查是否没有找到匹配
In node.js mysql query, check if no matching found
如何检查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
。看看这篇文章,它解释了JavaScript如何计算true
和false
的值。
检查结果数组是否为空的更好方法是:
if (result.length > 0) {
if (result)
console.log("Test:" + result);
相关文章:
- 主干-不管怎样,检查事件以前是否绑定过
- 如何让程序检查所选单词中是否有按键
- 用于检查数组中是否存在元素的javascript自定义方法
- 使用 jQuery 检查所有值是否为空或已填充
- 如何检查元素的内容是否为空,如果为空,请在jquery中删除该元素
- 使用map来检查是否为真'不起作用
- 遍历 JSON 对象并检查 URL 是否以某个值结尾
- 使用onkeyup JS事件检查输入的值是否唯一
- JS数组-检查对象值是否重复
- PhantomJS - 检查javascript函数是否正在运行的任何方法
- 如何使用jQuery可编辑插件检查ajax是否成功完成
- 如何在AngularJS中有效地检查日期是否有效
- 如何检查数组中的对象是否等于选项值
- 检查是否存在使用chrome扩展的javascript库
- 当一些文本粘贴到文本框中时(没有设置超时),是否检查数字
- 如何检查是否检查了分区中的所有单选按钮
- 验证是否检查了1到3个复选框,但id不同
- JavaScript 的类型函数是否检查空值
- 如何知道angularjs中的控制器中是否检查了单选按钮
- 在垃圾收集期间是否检查持久收集