NodeJS连接MySQL出现Cannot enqueue Handshake after invoking quit.

8 篇文章 0 订阅
5 篇文章 0 订阅

NodeJS连接MySQL出现Cannot enqueue Handshake after invoking quit.

原因在于node连接上mysql后如果因网络原因丢失连接或者用户手工关闭连接后,原有的连接挂掉,需要重新连接;如下代码,每次访问结束都关闭,每次开始访问前重连接下,代码中没有监听连接的fatal错误

之前的代码

app.get('/register/success',function(req,res){
    var obj=req.query
    //console.log(obj)//成功
    connection.connect();
    var p1=new Promise(function(resolve,reject){
        connection.query('SELECT * FROM login',function(error,results,field){
            if(error){reject(error)}
            resolve(results)
        })
        connection.end()
    })
    p1.then(function(results){
        console.log(obj)
        connection.connect();
        connection.query('INSERT INTO login SET  ?',{
            name:obj.yonghu,
            secret:obj.secret
        },function(error,result,field){
            if(error){
                console.log(error)
                throw error
            }
            console.log('插入成功',result)
        })
        connection.end()
    },function(error){
        console.log('文件读取失败',error)
    })
})


app.get('/register/success',function(req,res){
    var obj=req.query
    //console.log(obj)//成功
    connection.connect();
    var p1=new Promise(function(resolve,reject){
        connection.query('SELECT * FROM login',function(error,results,field){
            if(error){reject(error)}
            resolve(results)
        })
        connection.end()
    })
    p1.then(function(results){
        console.log(obj)
        //后来重新定义了连接才可以
        var connection = mysql.createConnection({
            host     : 'localhost',
            user     : 'root',
            password : '123456',
            port: '3306',
            database: 'denglu',
        });
        
        connection.connect();
        connection.query('INSERT INTO login SET  ?',{
            name:obj.yonghu,
            secret:obj.secret
        },function(error,result,field){
            if(error){
                console.log(error)
                throw error
            }
            console.log('插入成功',result)
        })
        connection.end()
    },function(error){
        console.log('文件读取失败',error)
    })
})


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值