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

188
Vistas
No se puede obtener información específica de una base de datos usando SQL

es la primera vez que hago dos solicitudes SQL en 'conexión.consulta' y definitivamente algo no está bien, en primer lugar aquí está mi código:

 pool.getConnection(function (err, connection) { if (err) throw err; let sql = `SELECT * FROM custom_prefix WHERE guild_id = '12345678912345678'; SELECT * FROM cache_size`; connection.query(sql, async function (err, result) { if (err) throw err; console.log(result); connection.release(); }); });

Hasta ahora todo funciona perfectamente bien y el resultado será:

 [ [ RowDataPacket { prefix: '!', guild_id: 12345678912345678, guild_name: 'server name', changed_by_id: 12345678912345678, changed_by_name: 'username#1234', changed_date: 2022-04-13T19:50:33.000Z } ], [ RowDataPacket { guilds: 4, users: 39 } ] ]

Si cambio console.log(result) a console.log(result[1]) el resultado será:

 [ RowDataPacket { guilds: 4, users: 39 } ]

Entonces, todo funciona como lo esperaría, pero si solo quiero un valor específico del result[1] , digamos los guilds , entonces haría console.log(result[1].guilds) .

Lo haría porque tengo algunos otros archivos en los que reviso la base de datos en busca de algo y uso el método result[0].something y allí funciona absolutamente bien. Pero tan pronto como uso dos solicitudes SELECT * FROM , no lo hace.

Entonces, si intento consolar. registrar el result[1].guilds el resultado será:

 undefined

Lo cual no tiene sentido para mí porque a menudo uso este método y funciona bien. Pero aquí dice undefined .

Entonces, no sé cómo obtener un valor específico de uno de los resultados cuando uso dos, espero que alguien aquí pueda ayudarme. Gracias.

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

0

Normalmente, el resultado de una consulta es una matriz de filas. Sin embargo, dado que realizó varias consultas, el result es una matriz de resultados de sus consultas; y cada resultado es una matriz de filas devueltas por cada consulta. Por lo tanto, tiene un nivel más de anidamiento que en el escenario donde solo tiene una consulta.

Está tratando de obtener .guilds de una matriz, que no tiene esa propiedad. Quieres esto en su lugar:

 result[1][0].guilds
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