@Sun2790

Как вывести значения из Mysql node js?

В данном коде я получаю данные cash из таблицы определенного пользователя
let login ='marikas';
let login2 ='tym';
let login3 ='bars';
async function main(){
let sql1 = `SELECT cash FROM clients WHERE login = '${login}'`;
                    const queryToDB1 = await conn.query(sql1, (err, result) => {
                        if (err){
    return console.log('ошибка:' + err.message);
  }
                        if (!result[0]) {
                            console.log('Comments not found!')
                        } else {
                            console.log(result[0]); // вывожу данные cash
                        }
                    });
}
main();


Ранее на php я использовал mysqli_fetch_array
Мне нужно из таблицы вывести пользователей таким образом
// имеем несколько логинов на странице
let login ='marikas';
let login2 ='tym';
let login3 ='bars';
// получим данные cash из бд для каждого пользователя
///..........SELECT ..... FROM clients ???
let marikas = // данные cash из бд
let tym= // данные cash из бд
let bars= // данные cash из бд
  • Вопрос задан
  • 190 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Ранее на php я использовал mysqli_fetch_array
С вашим запросом и на PHP вернётся одна строка.
А вообще, тут весь код переписывать надо. Вы зачем-то используете await, хотя функция у вас в callback-стиле, используете прямую подстановку вместо подготовленного выражения.
const mysql = require('mysql2/promise');
const conn = await mysql.createConnection({ ... });
const logins = ['marikas', 'tym', 'bars'];
async function main() {
  const result = await conn.execute(
    'SELECT login, cash FROM clients WHERE login in (?)',
    [logins],
  );
  for ([login, cash] of result) {
    console.log(login, cash);
  }
}

Либо
const mysql = require('mysql2');
const conn = mysql.createConnection({ ... });
const logins = ['marikas', 'tym', 'bars'];
function main() {
  conn.execute(
    'SELECT login, cash FROM clients WHERE login in (?)',
    [logins],
    (err, result) => {
      if (err) {
        throw new Error(err);
      }
      for ([login, cash] of result) {
        console.log(login, cash);
      }
    },
  );
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
21 нояб. 2024, в 19:31
500 руб./за проект
21 нояб. 2024, в 19:28
200000 руб./за проект
21 нояб. 2024, в 19:09
5000 руб./за проект