Как преобразовать запрос из PHP - MySQL в Node.js с Mysql и возвращаемым значением - PullRequest
0 голосов
/ 06 мая 2020

Я хочу выбрать данные из mysql и поместить значение в объект.

Он работает на php, но я не понимаю, почему не работает node.js

Примечание: я поместил только часть кодов.

mycode в php:

$res = mysqli_query($mysqli, "SELECT message FROM mempool messageID=1");

$row = mysqli_fetch_assoc($res);

$test = new BlockChain();

$test->addBlock(new Block($row['message']));

код в node.js

con.query("SELECT message FROM mempool where messageID=1", function (err, rows, fields) {
    if (err) throw err;
  });
let test = new Blockchain();
test.addBlock(rows);

Ошибка с node.js:

ReferenceError: rows is not defined

помощь, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 07 мая 2020

Этот пример может быть полезен db select nodejs example

Проблема заключается в области строк, упомянутых выше, которые должны находиться внутри con.query (....);

0 голосов
/ 06 мая 2020

Потому что в nodejs вы используете функцию обратного вызова, а переменная строки не определяется вне области видимости. если вы измените его на

con.query("SELECT message FROM mempool where messageID=1", function (err, rows, fields) {
    if (err) throw err;
    console.log(rows);
    let test = new Blockchain();
    test.addBlock(rows);
    console.log(test);
  });

, вы можете переписать его на async / await way

const rows = await db.query( 'SELECT message FROM mempool where messageID=1' );
let test = new Blockchain();
test.addBlock(rows);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...