CNode

MySQL的查询数据能在另一个页面接受到吗

Yyaoqi404发布于13 年前最后回复13 年前4 回复4868 浏览0 收藏

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

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)

Y
yaoqi404#1·13 年前

我怎么接受不到查询数据

D
dandandancj#2·13 年前
引用 yaoqi404我怎么接受不到查询数据

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

J
javanode#3·13 年前

由于是异步性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);
});
D
dandandancj#4·13 年前
引用 javanode由于是异步性return fields;根本不是你想要的效果!改成这样试试。 exports.p = function(sql, callback){ connection.query(sql...

我也解决这个问题,方法是在调用查询函数的页面建立一个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); }

参与回复
登录后即可参与回复。登录