带有Mysql数据库的Nodejs

时间:2015-03-24 03:26:11

标签: node.js node-mysql

我第一次使用带有MySQL的nodejs,我正在努力正确地准备语句,我在编写和执行一些插入语句时没有问题但是当我尝试编写选择语句时我不知道是什么是正确的语法。我找不到初学者的教程 这是选择代码

io.sockets.on('connection', function(client) {  
client.on('check_id', function(login_feilds) {

     console.log(login_feilds);

     var login_feilds_as_json = login_feilds ,
      Email = login_feilds_as_json.email ,
      password = login_feilds_as_json.password ;
    var sql = "SELECT * FROM ?? WHERE ?? = ? AND ?? = ?";
     var inserts = ['users', 'email', Email,'password',password];
            sql = mysql.format(sql, inserts);
                 console.log(sql);


  connection.query( sql , function(err, rows){
     if(error){

      console.log(error.message);
    }else{
      console.log('found it'); };

  });

}); 
});

当我运行上面的代码时,我得到了这个

{ email: 'user@windowslive.com', password: 'user' }
SELECT * FROM `users` WHERE `email` = 'user@windowslive.com' AND `password` =
 'user'

C:\Users\jiil\Desktop\our-project\node_modules\mysql\lib\protocol\Parser.js:82
        throw err;
              ^
ReferenceError: error is not defined

你能帮我搞清楚我要做什么,或者给我任何好资源的链接。

1 个答案:

答案 0 :(得分:3)

问题是您在回调函数中错误地使用变量名称。您需要将error更改为err

connection.query(sql, function(err, rows){
    if (err) {  
      console.log(err.message);
    } else {
      console.log('found it'); 
    } 
  });

希望它对你有用。