首页 > 解决方案 > mysql查询回调返回值到变量

问题描述

我正在尝试完成一个简单的目标,我正在查询 mysql(从 HTML 获取消息的输入)并希望以 HTML 表格格式显示结果。

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

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

但不知何故,结果在本地范围之外不起作用。

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);

任何建议表示赞赏。

标签: mysqlnode.js

解决方案


变量 newResults 直到您 GET /search/ 才会设置,此时 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);
}); 

推荐阅读