首页 > 解决方案 > 节点 MYSQL 查询不起作用,但在 phpmyadmin 中起作用

问题描述

当尝试从我的数据库中获取具有相同 app_id 的所有房间时,我在 Node 中没有得到任何结果,但是当我在 phpmyadmin 中执行完全相同的操作时,它可以工作!

在 phpmyadmin 中有效的查询:

SELECT a.id FROM cc_app_rooms a JOIN cc_apps b ON a.app_id = b.id WHERE b.app_hash = "1234abc"

在 Node 中,以下内容不起作用并记录 rows.affectedRows:“undefined”

function room_exists(app_hash, room) {
    console.log(app_id + " " + room)
    var rooms = [];
    var sql = 'SELECT a.id FROM cc_app_rooms a JOIN cc_apps b ON a.app_id = b.id WHERE b.app_hash = ?';
    con.query(sql, [app_hash], function(err, rows, fields) {
        if (err) throw err;
        console.log("ROWS: " + rows.affectedRows);
        rows.forEach(function(row) {
            rooms.push(row.id);
        });

    });
    return rooms.includes(room);
}

我像这样调用函数:

room_exists(1, "1234abc")

表 cc_apps:

|id|_____app_hash______|
|1 |______1234abc______|

表 cc_app_rooms:

|id|____app_id____|
|1 |_____1________|
|2 |_____1________|

我在 phpmyadmin 中得到了 2 个结果,如预期的那样,但在节点中似乎不起作用?我知道我错过了一些东西,但我对此很陌生。该函数记录正确的值,room并且app_hash也不会引发错误。

标签: mysqlnode.js

解决方案


推荐阅读