Cannot enqueue Query after invoking quit错误解决

Cannot enqueue Query after invoking quit

PROTOCOL_ENQUEUE_AFTER_QUIT
protocal enqueue after out

中文意思是调用quit后无法查询队列

可是我并没有quit

当第一次执行数据库操作时,是可以成功的。这时第二次执行数据库操作,就会报错如标题所示。
这是因为我们在使用.end()方法关掉连接之后,需要重新调用 createConnection重新创建一个连接。

所以我每个方法下面都这样连接了一遍 虽然很麻烦 但是很有效啊哈哈哈

app.get('/index',function(req,res){
    var connection = mysql.createConnection({
        host     : 'localhost',
        user     : 'root',
        password : '123456',
        port: '3306',
        database: 'denglu',
    });
    connection.connect();
    connection.query('SELECT * from `login`',function(error,results,field){
        if(error){
            console.log(error)
            throw error
        }
        console.log(results)
        });
        connection.end();
        // console.log('INSERT ID:',result);
    })

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
这个错误通常表示在MySQL连接上发生了严重的错误,导致连接不再可用。在这种情况下,你需要关闭现有的MySQL连接,然后重新创建一个新的连接。 以下是一个示例代码,演示如何关闭现有连接并创建新连接: ``` const mysql = require('mysql'); let connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'database_name' }); connection.connect((error) => { if (error) { console.error('Error connecting to MySQL database: ' + error.stack); return; } console.log('Connected to MySQL database with ID ' + connection.threadId); // Perform some MySQL queries here... // When you're done, close the connection connection.end((error) => { if (error) { console.error('Error closing MySQL connection: ' + error.stack); return; } console.log('MySQL connection closed'); // Create a new connection connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'database_name' }); connection.connect((error) => { if (error) { console.error('Error connecting to MySQL database: ' + error.stack); return; } console.log('Connected to MySQL database with ID ' + connection.threadId); // Perform some more MySQL queries here... }); }); }); ``` 请注意,以上代码中的“localhost”、“root”、“password”和“database_name”应替换为你的MySQL数据库的实际信息。此外,你应该在每个查询之后关闭连接,并在需要时重新创建新连接,以避免出现此错误
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值