本帖最后由 gaowenzhen 于 2013-06-05 19:31:57 编辑

解决方案 »

  1.   

    var _db={
    conn:{}
    };
    _db.conn=function(){
    var mysql = require('mysql');
    var TEST_DATABASE = 'nodejs_db';
     
    var connection = mysql.createConnection({
        host : 'localhost',
        user : 'root',
        password : 'root',
     
    });
    connection.query('USE '+TEST_DATABASE);
    return connection;
    }
    module.exports=_db;
      

  2.   


    var _db={
    conn:{}
    };
    _db.conn=function(){
    var mysql = require('mysql');
    var TEST_DATABASE = 'nodejs_db';
     
    var connection = mysql.createConnection({
        host : 'localhost',
        user : 'root',
        password : 'root',
     
    });
    connection.query('USE '+TEST_DATABASE, function(err, data) {
        console.log(arguments);    connection.query('select * from username', function(err, data) {
            console.log(arguments);
        }
    });return connection;
    }
    注意JS所有操作都是异步的,返回都要在回调里。
      

  3.   

    可以看看mysql那一块的官方范例,这里不需要return connection,如果要把js文件当模块,可以写成以下文件mysqlTest.js,然后要用的地方就var mt=require(mysqlTest.js);mt.query("select * ..."),大体上是这样做,我之前参考官方范例试了一下的。var mysql = require('mysql');
    var connection = mysql.createConnection({
      host     : 'localhost',
      user     : 'me',
      password : 'secret',
    });connection.connect();
    this.query=function(_sql){
    connection.query(_sql, function(err, rows, fields) {
      if (err) throw err;
      return rows;
    });
    }
    connection.end();
      

  4.   

    bbjbepzz 方法可行感谢,我自已过写如:exports = module.exports = _db;
      

  5.   

    那里专业,那你跑到这里来干嘛?奇葩这人有病?你才有病,懂不懂尊重人家啊,已经有人真心实意的回答LZ的问题了,你来一句”去Cnodejs社区,那里专业“,让回答问题的该情何以堪啊。