NODE.js com socket e MySql

26/07/2019

7

Olá pessoal bom dia! estou com um problema com o node, acredito que deve ser algo relacionado a callback´s, porém não tenho certeza, mais enfim, meu problema se resuma basicamente em puxar os dados de um banco MySql, esses dados serão retornados para o "chat", no entanto esses dados não são inseridos onde deveria.

const express = require('express');
const path = require('path');
const app = express();
const server = require('http').createServer( app );
const io = require('socket.io')(server);
const mysql = require('mysql');

// conexao com o banco de dados
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "dados_users"
});


app.use(express.static(path.join(__dirname,'public')));
app.set('views',path.join(__dirname,'public'));


app.engine('html',require('ejs').renderFile);
app.set('view engine','html');

app.use('/', ( request , res ) => {
res.render('index.html');
});

let msg =[];




io.on('connection', socket => {

//este select deve retornar as mensagens que estão no banco para a
//variavel msg
// con.connect(function(err) {
// con.query('SELECT * FROM dados', function(err, rows, fields) {
// if (err) throw err;
// msg = rows;
// });
// });

socket.emit('msg_existentes',msg); //retorna dados earmazenados na variavel msg
socket.on('recebe_do_front', data => {



console.log(msg);

// con.connect(function(err) {
// var sql = "INSERT INTO dados (nome, msg) VALUES ('"+data.nome+"', '"+data.msg+"')";
// con.query(sql, function (err, result) {
// if (err) throw err;
// console.log("1 record inserted");
// });
// });

msg.push( data ); //manter msg na section da pagina
socket.broadcast.emit('envia_para_usuario', data); //retorna msg do canudo
});
});
server.listen(3001);

Bom este é o código do servidor, porem a unica coisa que esta dando problenas é a função de { select } onde deveria armazenar seu retorno em uma variavel chamada . Segue a função.

//este select deve retornar as mensagens que estão no banco para a
//variavel msg
// con.connect(function(err) {
// con.query('SELECT * FROM dados', function(err, rows, fields) {
// if (err) throw err;
// msg = rows; //os dados de rows deve ser passados para a msg e inserida no socket
// });
// });
Responder