已连接到数据库,但在我尝试插入数据库时​​出错 table

Connected to the database but through error when I try to insert into database table

我无法将数据插入数据库。连接到数据库没有问题,但是当我尝试插入 table 时,它出错了。

错误:发生致命错误后无法将查询排队。

我该如何解决这个问题?有人遇到同样的问题吗?

const { redirect } = require("express/lib/response");
const mysql = require('mysql')
let con = mysql.createConnection({
    host: process.env.db_host,
    database: process.env.db_database,
    username: process.env.db_username,
    password: process.env.db_password,
    port: process.env.db_port
});
con.connect(err=>{
    {err===true? console.log(err): console.log("DB connected Successfully!!");;}
})
// Home Page
exports.index = (req,res)=>{
    res.render('../views/index', {btnName: 'Save' })    
    console.log("You are in home page!");
}
// // Add User 
// exports.addUser = (req,res)=>{
//     res.render('adduser')
// }
exports.adduserpost = (req,res)=>{
const {fname, mname, lname, email, phone} = req.body; //store value from adduser
// console.log({fname, mname, lname, email, phone});
let sql = 'INSERT INTO user_info (fname, mname, lname, email, phone) VALUES (?,?,?,?,?)';
con.query(sql,[fname, mname, lname, email, phone],
        (err,result)=>{
            if(!err) console.log(result);
            else console.log( err);
})

通过这样的错误。

Server connected successfully!!
DB connected Successfully!!
Error: Cannot enqueue Query after fatal error.
    at Protocol._validateEnqueue (F:\Project\User_Information_System_v2\node_modules\mysql\lib\protocol\Protocol.js:212:16)
    at Protocol._enqueue (F:\Project\User_Information_System_v2\node_modules\mysql\lib\protocol\Protocol.js:138:13)
    at Connection.query (F:\Project\User_Information_System_v2\node_modules\mysql\lib\Connection.js:198:25)
    at exports.adduserpost (F:\Project\User_Information_System_v2\server\controller\userController.js:53:5)
    at Layer.handle [as handle_request] (F:\Project\User_Information_System_v2\node_modules\express\lib\router\layer.js:95:5)
    at next (F:\Project\User_Information_System_v2\node_modules\express\lib\router\route.js:137:13)
    at Route.dispatch (F:\Project\User_Information_System_v2\node_modules\express\lib\router\route.js:112:3)
    at Layer.handle [as handle_request] (F:\Project\User_Information_System_v2\node_modules\express\lib\router\layer.js:95:5)
    at F:\Project\User_Information_System_v2\node_modules\express\lib\router\index.js:281:22  
    at Function.process_params (F:\Project\User_Information_System_v2\node_modules\express\lib\router\index.js:341:12) {
  code: 'PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR',
  fatal: false
}

您应该更改 connect 错误检查条件。
通过使用 err===true,如果 err 作为对象存在,消息 DB connected Successfully!! 也会显示。
尝试像这样更改您的代码并查看它是否记录任何错误消息:

con.connect(err=>{
    if(err) {
        console.log(err);
        process.exit(1);
    } 
    console.log("DB connected Successfully!!")
})