0

我正在尝试将 mysql 查询的结果放入变量中,以便检查它是否未定义并基于此执行任务。

问题是查询似乎由于某种原因无法正常工作。这是我的代码:

exports.check = function(zmail, password){

                var check = client.query('SELECT id FROM passwords WHERE
                                          email="'+zmail+'"');

                console.log(check);
                /*
                if(typeof check == 'undefined'){
                console.log("wrong email");
                }else{
                        var savedemail = check[0].id;
                        console.log(savedemail, zmail);
                }
                */

}

我知道查询是有效的,因为它作为一个函数工作......我认为我必须以错误的方式将它放入变量中。有谁知道如何正确地做到这一点?

更新...我尝试了这个答案,但没有奏效。当 id 未定义时,服务器崩溃!这是不起作用的代码:

 var check = client.query('SELECT id FROM passwords WHERE email="'+zmail+'"', function(err,data){

                 if(data == null){
                console.log("wrong email");
                }else{
                        var savedemail = data[0].id;
                        console.log(savedemail, zmail);
                }
                });
4

1 回答 1

1

也许您需要使用这样的回调:

exports.check = function(zmail, password){
  var check = client.query('SELECT id FROM passwords WHERE email="'+zmail+'"', function(err, data){
    console.log(data);
  });
}
于 2013-08-08T18:12:29.510 回答