node.js mysql查询未定义

u5rb5r59  于 2021-06-17  发布在  Mysql
关注(0)|答案(2)|浏览(410)

我正在运行以下代码 Node.js 我想用 mysqlnodejs :正在尝试运行查询: select numbers from TABLE . 结果如下:
“未定义”

function getNumbers()
{
    cio.query("SELECT numbers FROM rooms WHERE durum='1'", function(err, result)
    {
        if (err) 
         throw err;
        else
     result[0].numbers;

    });

}
var kar = getNumbers();
 console.log(kar);

那么,我该怎么办?请帮忙。

abithluo

abithluo1#

功能 getNumbers() 在它内部调用的函数不返回任何值,因此结果总是 undefined .
除此之外,您还需要处理函数的异步特性:
在返回值之前,请等待数据库查询完成。
您可以通过使用回调函数来实现这一点。
示例如下:

function getNumbers(callback) {
    cio.query("SELECT numbers FROM rooms WHERE durum='1'", function (err, result) {
        if (err) throw err;
        callback((result.length > 0) ? result[0].numbers : "");
    });
}

getNumbers(function (result) {
    console.log(result);
});
yfwxisqw

yfwxisqw2#

我不知道你的问题是否取决于你的意见 console.log 但是你的函数没有返回值。所以当你没有回报的时候 undefined .

function getNumbers() {
    return 'test';
}
var kar = getNumbers();
console.log(kar);

相关问题