mysql查询回调返回值到变量

时间:2019-01-26 04:07:13

标签: mysql node.js

我试图实现一个简单的目标,我正在查询mysql(从HTML get消息输入),并希望以HTML表格格式显示结果。

因此,该过程的第一步是将mysql查询的结果捕获到一个变量中。

我已经在Global Scope中声明了一个变量,并将结果从回调分配给变量。

但是以某种方式,结果在localscope之外不起作用。

var newResults;

var custquery = 'SELECT * FROM customer WHERE cust_name = ?';

var usercon = mysql.createConnection ({
  host    : 'localhost' ,
  user    : 'root'  ,
  password  : ''  ,
  database  : 'test' ,
  table   : 'customer'
 });

app.get('/search',function(request,response){
  var customerName = request.query.key;
  usercon.query(custquery,customerName,function(err,results,fields){
   newResults = results;
    });
}); 


console.log(newResults);

任何建议都值得赞赏。

1 个答案:

答案 0 :(得分:0)

直到您GET / search /时,变量newResults才被设置,此时console.log已经发生。

将日志移至app.get

app.get('/search',function(request,response){
  var customerName = request.query.key;
  usercon.query(custquery,customerName,function(err,results,fields){
  newResults = results;
   });
 console.log(newResults);
});