我有一个类似Twitter的基本应用程序,当一个用户在线时可以正常工作。但是,当多个用户联机并尝试执行SQL查询时,服务器崩溃。
这种情况正在发生,因为该函数关闭了第一个用户的数据库,而第二个用户仍处于中等功能状态,然后第二个用户尝试关闭已经关闭的数据库,从而导致崩溃。
这是一个基本功能作为例子:
function showAllUsers(req, res){
dbConnect();
var query = 'SELECT * FROM USERS';
connection.query(query, function (err,rows,fields){
if (err) {
throw err;
}
dbClose(req,res);
console.log(rows);
res.render('allUsers', { user: req.user, message: req.flash('info'), users: rows })
})
}
我正在使用npm的mysql包,但我假设我没有正确使用它。我目前正在每次查询之前打开数据库,然后立即关闭它。
是否有更安全的方法可以执行此操作,或者我可以将其保持打开状态直到服务器退出?