I am struggling with query.. I've been searching a lot, the only relevant posts I found had no answers.
row[0] returns undefined, I can't seem to find out why..
info:
As mentioned, logger.warn(rows[0]) returns undefined
rows.length returns 0
logger.warn(pool.escape(hash)) returns the correct hash(same as in DB)
logger.warn(rows[0].hash) returns undefined
This is the error in console/log file: TypeError: Cannot read property 'hash' of undefined
socket.on('hash', function(hash) {
query('SELECT * FROM `members` WHERE `hash` = '+pool.escape(hash),
function(err, rows) {
logger.warn(rows[0]) // returns "undefined"
if((err) || (!rows.length)) return socket.disconnect();
}
EDIT: QUERY FUNCITON
function query(sql, callback) {
if (typeof callback === 'undefined') {
callback = function() {};
}
pool.getConnection(function(err, connection) {
if(err) return callback(err);
logger.info('DB Connection ID: '+connection.threadId);
connection.query(sql, function(err, rows) {
if(err) return callback(err);
connection.release();
return callback(null, rows);
});
});
}
EDIT: Debug log
https://gyazo.com/858796b81c674ba816f974039eea1c09
EDIT: On disconnect
socket.on('disconnect', function() {
logger.warn('Socket disconnect');
io.sockets.emit('message', {
type: 'logins',
count: Object.size(io.sockets.connected)
});
delete users[user.email];
})
hashevent,are u sending the hash?Hashis defined, and returns the correct value. @Jiro90 EDIT: yes @RIYAJKHAN, I am, and that part is working fine.query? Ishashnumerical?[email protected]returnstest%40mail.com