¿Porqué en la siguiente función la variable errorcon
siempre es false, aún cuando en el primer else la retorno como true y siempre se ejecuta el if(!errorcon)
?
app.post('/posts', (req, res) => {
var db = req.db;
var nombre = req.body.nombre;
var email = req.body.email;
var telefono = req.body.telefono;
var f_entrada = req.body.f_entrada;
var f_salida = req.body.f_salida;
var personas = req.body.personas;
var errorcon = false;
// TODO comprobar que las reservas no está ocupadas.
var query = connection.query('SELECT f_entrada, f_salida FROM diasreserva', function(err, result){
if(err){
console.log('Error! Conexión mysql ',err);
return;
}else{
data = result;
console.log(data);
errorcon = true;
return errorcon;
// for(var i=0; i<data.length; i++){
// }
}
});
if (!errorcon){
// Según documentación node-mysql es la forma segura de enviar datos
// https://github.com/mysqljs/mysql#preparing-queries
var sql = 'INSERT INTO diasreserva(nombre, email, telefono, f_entrada, f_salida, personas) VALUES(?, ?, ?, ?, ?, ?)';
var inserts = [nombre, email, telefono, f_entrada, f_salida, personas];
sql = mysql.format(sql, inserts);
var query = connection.query(sql, function(error, result){
if(error){
console.log('Error! No se pudieron insertar los datos.');
}else{
res.send({
success: true,
message: 'Reserva enviada correctamente, en breve recivirá una confirmación.'
});
}
})
}
})