我需要根据之前执行的查询结果对MySQL表执行查询。
我在Electron上使用NodeJS。我尝试将“ for”循环替换为“ forEach”循环。由于某种原因,该代码之所以有用,是因为它提供了一个结果,即最后一个结果。我希望MySQL表至少有10个结果,但它会返回最后一个。
con.query("SELECT * FROM TABLE WHERE row=?",[variable], function (err, result, fields) {
for (var i in result) {
con.query("SELECT * FROM ANOTHER_TABLE WHERE row=?",[result[i].id], function (err, newresult, fields) {
var str = '<ul>'
for (var f in newresult) {
str += '<li><img src="' + newresult[f].img + '"><span>' + newresult[f].title + '</span></li>';
}
str += '</ul>';
setTimeout(function(){ document.getElementById("element").innerHTML = str; }, 100);
});
}
});
当我需要它返回所有结果时,此代码仅返回第二个查询的一个结果。
我在第一个查询中添加了console.log()行,只是为了检查第一个查询是否获得了所有结果。