Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在Nodejs中从查询结果中获取字符串_Node.js_Database_Backend - Fatal编程技术网

Node.js 如何在Nodejs中从查询结果中获取字符串

Node.js 如何在Nodejs中从查询结果中获取字符串,node.js,database,backend,Node.js,Database,Backend,我的代码在下面的Nodejs后端中 app.get('/room_selected', function (req, res){ var clientID = 'a@gmail.com'; var room = 'Room 1'; var query = connection.query ('SELECT clientID FROM clientDevices WHERE deviceName = ?', [room], function (err, rows,

我的代码在下面的Nodejs后端中

app.get('/room_selected', function (req, res){
    var clientID = 'a@gmail.com';
    var room = 'Room 1';
    var query = connection.query ('SELECT clientID FROM clientDevices WHERE deviceName = ?', [room], 
    function (err, rows, fields){
        if (err) throw err;
        return rows[0].clientID;
    });
    console.log (query);
    if (clientID == query){
        res.status(400).json ('success');
    } else {
        res.status(400).json('The selected room does not have a device attached');

       
    }
   
});
当我打印console.log(query)时,它返回[{clientID:'a@gmail.com“}]

我只想返回a@gmail.com。你们知道怎么弄清楚吗?由于我希望它与clientID进行比较以打印出成功消息,但是,它打印出的是所选房间没有连接设备


请帮忙。谢谢

在代码中,您没有等待执行查询。以下是仅在执行查询后才会给出响应的代码

而且成功的状态代码不应该是400,所以我删除了状态代码为200的代码

app.get('/room_selected', function (req, res){
    var clientID = 'a@gmail.com';
    var room = 'Room 1';
    var query = connection.query ('SELECT clientID FROM clientDevices WHERE deviceName = ?', [room], 
    function (err, rows, fields){
        if (err) throw err;

        if (rows.length && clientID == rows[0].clientID){
            res.json('success');
        } else {
            res.status(400).json('The selected room does not have a device attached');
        }
    });
    
});

返回行[0]。clientID
这将返回
a@gmail.com
@aRvi,这会有用的。我已经删除了我的帖子@阿维,你能再看看我的密码吗?它也不起作用。我想打印成功消息,但它不是。谢谢你的帮助。但当我在:8080/room_selected上运行它时,它看起来像是在加载,等待本地主机,但屏幕上没有显示任何内容screen@Sunny检查运行在8080上的服务器是否为http或httpslocalhost未发送任何数据检查日志可能是代码错误,或者你遗漏了什么我遗漏的唯一一件事没有将json对象数据发送回前端。所以我想加上“res.send(..)”,你在括号里有什么想法吗?