MySQL的查询数据能在另一个页面接受到吗
我在这个文件查询的数据,能在另一个页面返回来嘛?
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); }