Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在node js和mysql中检查db连接是否成功_Javascript_Mysql_Node.js_Node Mysql_Connection Pool - Fatal编程技术网

Javascript 如何在node js和mysql中检查db连接是否成功

Javascript 如何在node js和mysql中检查db连接是否成功,javascript,mysql,node.js,node-mysql,connection-pool,Javascript,Mysql,Node.js,Node Mysql,Connection Pool,我正在使用mysql连接池创建连接。代码如下所示 var pool = mysql.createPool(connectionProps); 通过访问池,我将获得一个对象,即使连接不成功。我通过启动和停止mysql进行了检查 我想要的是,我需要检查连接是否成功,如下所示 if(pool){ // mysql is started && connected successfully. console.log('Connection Success'); doSomet

我正在使用mysql连接池创建连接。代码如下所示

var pool = mysql.createPool(connectionProps);
通过访问池,我将获得一个对象,即使连接不成功。我通过启动和停止mysql进行了检查

我想要的是,我需要检查连接是否成功,如下所示

if(pool){ // mysql is started && connected successfully.
   console.log('Connection Success');
   doSomething();
}else{
   console.log('Cant connect to db, Check ur db connection');
}
我想要这样的东西。那么,我们如何使用mysql池对象实现这一点呢。有人能帮我吗


谢谢你,通常你会做一些事情,比如从数据库中任意选择一些东西,如果失败了,你会捕获一个错误。例子来自

并要求像这样使用它:

db.connection.query("SELECT * FROM `table` WHERE `id` = ? ", row_id)
      .on('result', function (row) {
        setData(row);
      })
      .on('error', function (err) {
        callback({error: true, err: err});
      });
var pool = mysql.createPool(config.db);
exports.connection = {
query: function () {
    var queryArgs = Array.prototype.slice.call(arguments),
        events = [],
        eventNameIndex = {};

    pool.getConnection(function (err, conn) {
        if (err) {
            if (eventNameIndex.error) {
                eventNameIndex.error();
            }
        }
        if (conn) { 
            var q = conn.query.apply(conn, queryArgs);
            q.on('end', function () {
                conn.release();
            });

            events.forEach(function (args) {
                q.on.apply(q, args);
            });
        }
    });

    return {
        on: function (eventName, callback) {
            events.push(Array.prototype.slice.call(arguments));
            eventNameIndex[eventName] = callback;
            return this;
        }
    };
}
};
db.connection.query("SELECT * FROM `table` WHERE `id` = ? ", row_id)
      .on('result', function (row) {
        setData(row);
      })
      .on('error', function (err) {
        callback({error: true, err: err});
      });