MySQL的查询数据能在另一个页面接受到吗
发布于 2年前 作者 yaoqi404 921 次浏览

我在这个文件查询的数据,能在另一个页面返回来嘛?

exports.p=function(sql){

connection.query(sql,function(err,fields){

    //return this.fields;
return fields;

}) };

上面这个是查询页的代码

var config=require('./config');

var sql="select * from user"; console.log(config.p(sql))

这个是需要接受的页面代码

4 回复

我怎么接受不到查询数据

我也遇到这个问题了。怀疑是nodejs异步事件驱动的原因。。也就是说你执行config.p(sql)的时候查询还没有执行。

由于是异步性return fields;根本不是你想要的效果!改成这样试试。

exports.p = function(sql, callback){
   connection.query(sql,function(err,fields){
      callback(fields);
   });
};

var config = require('./config');
var sql = "select * from user";
config.p(sql, function(data){
   console.log(data);
});

我也解决这个问题,方法是在调用查询函数的页面建立一个exports函数,然后在查询结果的回调函数中调用这个函数。 db.js: exports.select = function() { client.query( 'SELECT * FROM ' + TEST_TABLE,

function selectCb(err, results, fields) { if (err) { throw err; } client.end(); app.getresult(results); }); }

app.js: db.select(); exports.getresult = function(result){ console.log(result); }

回到顶部