Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

461
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda