【问题标题】:node.js/javascript: Simple Database Query in Node check emptynode.js/javascript:节点中的简单数据库查询检查为空
【发布时间】:2018-04-01 01:01:00
【问题描述】:

我在 node.js 中有一个简单查询。但我无法处理错误或为空。我试过了:

  • 为空,=="",=="未定义"

    con.query("SELECT id FROM users WHERE secretkey = 
    '"+connection_on_obj.secretkey+"' AND id = 
     '"+connection_on_obj.userid+"' LIMIT 1",
    
     function (err, result, fields) {
    
     if(err) {
    
     console.log("ERROR");
    
     }else{
    
      if(result[0].id) {
    
        console.log("OK");
    
       }else{
    
       console.log("NO USER");
    
       }
    
     }
    });
    

我在大多数情况下成为错误:无法读取未定义的属性“id”

【问题讨论】:

    标签: javascript node.js


    【解决方案1】:

    如果你想检查你是否有一个空列表,只需检查数组的大小。

    if (result.length === 0) {
        // "error", no results found.
    }
    

    【讨论】:

    • 不适合我 :-(.result[0].id.length===0 --- /sockets/node_modules/mysql/lib/protocol/Parser.js:80 throw err; // Rethrow non-MySQL errors ^ TypeError: Cannot read property 'id' of undefined at Query._callback (/sockets/index.js:75:26)
    • result.length,而不是result[0].id.length。
    • 现在工作正常。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多