首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在node.js mysql查询中,检查是否未找到匹配项

在node.js mysql查询中,检查是否未找到匹配项
EN

Stack Overflow用户
提问于 2014-07-10 19:16:17
回答 1查看 46.6K关注 0票数 16

如何检查mysql (node.js)中是否有匹配?

代码语言:javascript
复制
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‘。那么,如何检查查询是否不匹配呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-10 20:01:48

您将收到一个空数组([])作为查询结果,因为正如您所说的,您的数据库不包含任何带有name = 'abcd'的行。

当你这样做的时候:

代码语言:javascript
复制
if (result) {
  if (result)
    console.log("Test:" + result);

,您将输入if,因为Javascript为[]计算true。看看this article here,它解释了Javascript如何计算truefalse的值。

检查结果数组是否为空的更好方法是这样做:

代码语言:javascript
复制
if (result.length > 0) {
  if (result)
    console.log("Test:" + result);
票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24675125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档