quiero verificar si el usuario existe en la base de datos, pero recibí este error cuando agrego resultados.longitud:
(nodo: 12124) UnhandledPromiseRejectionWarning: TypeError: No se puede leer la propiedad 'longitud' de undefined
Este es el código:
const mysql = require('mysql') const jwt = require('jsonwebtoken'); const bcrypt = require('bcryptjs'); exports.register = (req, res) => { console.log(req.body); const { name, email, password, passwordConfirm } = req.body; db.query('SELECT email FROM users WHERE email = ?', [email], async (error, results) => { if (error) { console.log(error); } if (results.length > 0) { return res.render('register', { message: 'That email is already in use' }) } else if (password !== passwordConfirm) { return res.render('register', { message: 'Passwords do not match' }); } let hashedPassword = await bcrypt.hash(password, 8); console.log(hashedPassword); }); }Eso parece bastante sencillo... Si el usuario no existe, results no están definidos, por lo que su condición no debería verificar los results.length .
if (results !== undefined) { return res.render('register', { message: 'That email is already in use' }) }