我有一个基本的类似 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 包,但我假设我没有正确使用它。我目前在每次查询之前打开数据库并在之后立即关闭它。
有没有更安全的方法可以做到这一点,或者我可以让它保持打开状态直到服务器退出?