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

192
Visualizações
Recibo "Error de tipo: no se puede leer la propiedad '1' de nulo" cuando intento probar obtener todas las rutas.

Estoy construyendo un sistema de inicio de sesión. Cuando trato de que todos los usuarios de MySQL DB prueben el sistema y obtengo

 TypeError: Cannot read property '1' of null at firstchar (E:\vs work\mysql signup login system\node_modules\body-parser\lib\types\json.js:176:37) at parse (E:\vs work\mysql signup login system\node_modules\body-parser\lib\types\json.js:79:19) at E:\vs work\mysql signup login system\node_modules\body-parser\lib\read.js:121:18 at invokeCallback (E:\vs work\mysql signup login system\node_modules\raw-body\index.js:224:16) at done (E:\vs work\mysql signup login system\node_modules\raw-body\index.js:213:7) at IncomingMessage.onEnd (E:\vs work\mysql signup login system\node_modules\raw-body\index.js:273:7) at IncomingMessage.emit (events.js:388:22) at endReadableNT (internal/streams/readable.js:1336:12) at processTicksAndRejections (internal/process/task_queues.js:82:21)

¿¿¿¿qué ocurre????

ese es mi código**

 router.get('/', (req, res) => { db.query('SELECT * FROM users', (err, rows, fields) => { if (err) { throw err } res.send({rows}) }) }); //* sign up route router.post('/sign-up', userValidation.validateRegister, (req, res, next)=>{ db.query( `SELECT * FROM users WHERE LOWER(user_name) = LOWER(${db.escape(req.body.user_name)}) OR LOWER(email) = LOWER (${db.escape(req.body.email)});`, (err, result) => { if(result.length) { return res.status(409).send({msg:'already in use email/username'}) } else { // ? username is available => hash the pass bcrypt.hash(req.body.password, 10, (err, hash)=>{ if(err){ return res.status(500).send({msg: err}) } else { let email = req.body.email //? has hashed pw => add to database db.query( `INSERT INTO USERS (id,user_name,email,password,registrated) VALUES ('${uuid.v4()}', ${db.escape(req.body.user_name)},'${email}', ${db.escape(hash)}, now())`, (err, result) =>{ if (err) { throw err return res.status(400).send({msg: err}) } return res.status(201).send({msg: "Registered!!"}) } ) } }) } } ) })
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

router.get('/', (req, res) => { db.query('SELECT * FROM users', (err, rows, fields) => { if (err) { throw err } if(!rows) throw 'rows not found !' res.json({rows}); }) });
about 4 years ago · Juan Pablo Isaza Relatório

0

Cada consulta es una promesa. Toma algún tiempo hasta que obtenga el resultado de su solicitud para recuperar datos de la base de datos. En su código, está intentando enviar rows antes de recibirlas como respuesta. Por lo tanto, debe esperar hasta que recupere los datos de db.

 router.get('/', async (req, res) => { const result = await db.query('SELECT * FROM users', (err, rows, fields) => { if (err) { throw err } }) res.send(result) });

Recomiendo usar async y await al consultar.

about 4 years ago · Juan Pablo Isaza 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