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

157
Vistas
Cómo implementar datos de MySQL en un archivo EJS para crear una página de perfil

Estoy en medio de un proyecto personal para practicar mejor el desarrollo web para comprender los entresijos del desarrollo web, pero me he topado con una pared de ladrillos. En este proyecto personal, estoy creando una página de perfil. He vinculado con éxito la base de datos MySQL al archivo js de mi servidor porque puedo importar datos a la tabla, pero estoy atascado tratando de exportar los datos a un archivo ejs.

Hice lo siguiente para exportar el código, pero ni siquiera puedo llamar a los datos porque no puedo hacer que SQL localice ninguna entrada desde el inicio de sesión.

 app.get('profile', function (req, res) { console.log("Inside Get Profile"); connection.query('SELECT * FROM ACCOUNTS WHERE PrimaryEmail = ? ', [req.body.email], function(error, results, fields) { if (error){ console.log("Error"); console.log(error); } else if (results.length > 0) { console.log("Data From Get Profile") console.log(results); res.render('profile', { data: results }); }})});

Entonces hice lo siguiente en un intento de resolver mi problema, lo que podría funcionar, pero estoy en el asunto de extraer los datos en el archivo ejs.

 function userProfile(req, res, next){ console.log("Inside userProfile Function"); connection.query('SELECT * FROM ACCOUNTS WHERE PrimaryEmail = ? ', [req.body.email], function(error, results, fields) { if (error){ console.log("Error"); console.log(error); next(); } else if (results.length > 0) { console.log("Data From userProfile Function"); console.log(results); res.render('profile', { data: results }); next(); }})};

Llamaría a la función al iniciar sesión después.

 app.post('/login', userProfile, passport.authenticate('local', {failureRedirect:'/login-faliure', successRedirect:'/dashboard'}));

¡Cualquier consejo sobre cómo obtener datos de MySQL para mostrar cierta información para la página de perfil sería suficiente!

¡Gracias por tu tiempo!

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Parece que implementó el código correcto para pasar los parámetros a EJS (el primer fragmento de código que mostró), por lo que no hay razón para que algo como esto no funcione.

¡Hola, <%=data.name%>!

Esto se debe a que pasó los datos del usuario en "datos" aquí:

 res.render('profile', { data: user });
about 4 years ago · Juan Pablo Isaza Denunciar

0

Descubrí que tenía dos métodos app.get('profile') y ahora la página se carga sin errores después de eliminar el que no es necesario. Lo siguiente que tuve que hacer fue agregar el siguiente código después de "resultados.longitud > 0" y mis datos comenzarían a mostrarse.

 user={id:results[0].ID, email:results[0].PrimaryEmail, hash:results[0].EncryptHash, password:results[0].EncryptPassword}; console.log(user); res.render('profile', { data: user})
about 4 years ago · Juan Pablo Isaza 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