mysql - mySQL 之后无法从 JSON 获取值

标签 mysql json node.js express

var sender_username = req.session.user_id;
var recipient_username = req.body.recipient_username; 
var content = req.body.content; 

var sql = ' SELECT sender_username, recipient_username, COUNT(recipient_username) as count FROM message WHERE sender_username = "'+sender_username+'" AND recipient_username = "'+recipient_username+'" GROUP BY sender_username LIMIT 1 ';
var message_no = 0;
var data;

connection.query(sql, function(err, result) {
    if (err) {
        res.send(err);
    }
    else {
        data = result; 
        // res.send(data); < - this works
        // res.send(result); <- this works
        // res.send(result.count); <- undefined
    }
});

res.send(data); // undefined (can't seem to save to variable after connection.query())

res.send(result); 似乎有效。它给出:

[{"sender_username":"sender","recipient_username":"recipient","count":2}]

我只是想获取 count 的值并将其保存到变量中,但是 result.count 之类的东西由于某种原因返回未定义。

最佳答案

因为 JSON 是一个数组,所以你应该像下面这样访问它

res.send(result[0].count);

关于mysql - mySQL 之后无法从 JSON 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23978102/

相关文章:

mySQL数据库导入数据到结构

python - MySQL 连接错误 Python、Flask、MySQL

json - 使用 Angular 从键值数组中获取 JSON 值

node.js - 如何在 MONGODB 中的嵌套文档数组中 $pull 文档

javascript - NodeJS XML HTTP POST 请求 header 对象不接受

php - 更有效的方法来聚合和重新列列结果?

php - 比较 MYSQL 时间戳以检索以特定单位传递的时间

java - 无法解析 JSONParser

javascript - json 数组内的数组

javascript - 将子文档填充到父文档中 Array Mongoose