Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

464
Visualizações
req.getConnection no es una función en express-myconnection

Estoy tratando de conectar mysql, pero me muestra que req.getConnection is not a function continuación se muestra el fragmento de código que he usado. En aplicación.js

 var mysql = require('mysql'), connection = require('express-myconnection'), dbOptions = { host: 'localhost', user: 'root', password: '', port: 3306, database: 'nodejs' }; app.use(connection(mysql, dbOptions, 'request'));

En Clientes.js

 exports.list = function(req, res, next) { req.getConnection(function(err, connection) { if (err) return next(err); connection.query('SELECT * FROM customer', function(err, rows) { if (err) console.log("Error Selecting : %s ", err); res.render('customers', { page_title: "Customers - Node.js", data: rows }); }); }); };

¿Puedes comprobar qué se ha hecho mal? Soy bastante nuevo en nodejs, así que puede que me esté perdiendo algo.

Si desea verificar mi paquete completo, siga la URL a continuación, presioné todo el código en mi repositorio git https://github.com/chiraggmodi/nodeCrud

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Necesitas mover esta línea:

 app.use(connection(mysql, dbOptions, 'request'));

En este momento, se declara después de sus rutas, lo que significa que las solicitudes nunca pasarán por él (así es como funciona Express: las solicitudes se pasan a través del middleware y los controladores de ruta en el orden de su declaración).

Si lo usa en una ubicación en el código antes de las rutas que requieren que req.getConnection() funcione (quizás aquí ), las solicitudes primero pasarán a través del middleware express-myconnection y luego pasarán a los controladores de ruta, asegurándose de que req.getConnection() estará disponible dentro de esos controladores de ruta.

EDITAR : en una mirada más cercana, las rutas de sus clientes también son incorrectas.

Tu tienes esto:

 router.get('/', function(req, res, next) { res.render('customers', customers.list); });

Pero customer.list es un controlador de ruta en sí mismo, no algo que debas pasar a res.render() . En su lugar, intente esto:

 router.get('/', customers.list);

(y de manera similar para todas las demás rutas en customers_route.js )

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda