Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Instalando o driver do MySQL e implementando a consulta no Node.

Olá,

Eu já possuo o MySQL instalado em minha máquina, que ativo utilizando o Wampserver. Eu criei a tabela livros no MySQL Workbeanch, com todos os registros informados na video-aula, e no código do arquivo app.js eu inseri a informação da porta utilizada no mysql. No Workbeanch tudo funciona normalmente, o problema é que quando executo o código, ele não exibe nada no navegador. Imprimi o parâmetro "results" com o console.log e ele imprime "undefined". Alguém consegue identificar qual o problema? Segue abaixo o código do arquivo app.js:

module.exports = function(app) { app.get("/produtos",function(req, res) { var mysql = require('mysql'); var connection = mysql.createConnection({ host: "localhost", user: "root", password : "123456", //senha do mysql local database: "casadocodigo_nodejs", port: 3306 //porta do mysql });

connection.query('select * from livros', function(err, results){ res.send(results); });

connection.end();

}); }

3 respostas
solução!

Olá Diego,

Acredito que o problema esteja ocorrendo devido o MySql que você está utilizando, estar rodando pelo Wamp como você disse. Experimente instalar o MySQL pelonpm conforme o código abaixo

npm install mysql

Depois que instalá-lo pelo npmcrie o database e as tabelas igual o anterior. Acredito que irá funcionar.

Espero ter ajudado!

Obrigado Magno, consegui exibir os registros com json no navegador! Eu já tinha instalado o mysql pelo npm, então a única coisa que precisei fazer foi recriar o database no Workbeanch, mas sem abrir o Wampserver, e depois executar o nodemon no cmd.

Apenas para esclarecimento:

O comando npm install mysql não instala o banco MySQL e sim o driver para que o java script possa fazer a conexão com o banco