I am really confused with using connection.end() in node-mysql.
I don\'t fully understand where it goes, at the moment i place it after a query but then if i create a ne
Per the documentation:
Closing the connection is done using end() which makes sure all remaining queries are executed before sending a quit packet to the mysql server.
connection.end()
is then supposed to be called only when you stop sending queries to MySQL, i.e. when your application is stopping. You shouldn't create/end connections all the time: just use the same connection for all your queries (or use a connection pool to be more efficient).
socket.on('connect', function(data,callBack){
var session = sanitize(data['session']).escape();
var query = connection.query('SELECT uid FROM sessions WHERE id = ?', [session],
function(err,results){
if(err){
console.log('Oh No! '+err);
}else{
io.sockets.socket(socket.id).emit('connectConfirm',{data : true});
}
});
connection.end(); // close connection outside the callback
});
Its giving error because you are closing connection during en-queue