当尝试从数据库中获取所有具有相同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中,以下命令不起作用,并记录row.affectedRows:“未定义”
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
的正确值,并且不会引发错误。