0
我想让用户输入我的应用程序的标准(即客户端)来查询mySQL数据库并返回所有匹配结果。我的连接已经建立,我可以对我的查询进行硬编码(connection.query(“select * from ACHLookerUpper where Client =?”,[“ex。”])并返回预期的结果,我也可以简单地运行提示命令和摄入量和console.log我的输入。使用提示用户输入查询MySQL(Node.js)
但是,当我尝试通过提示和查询结合两个摄入用户输入 - 我无法成功地将输入传递到我的查询。确定在我的嵌套中存在一个问题,但是除了告诉我“不能在调用Quit后查询查询”之外,这个错误并没有什么帮助。
我确定我需要将results.Client作为var或param存储,然后调用它在我的查询,但无法弄清楚如何。
var mysql = require("mysql");
var prompt = require('prompt');
var connection = mysql.createConnection({
host: "<host>",
user: "<user>",
password: "<pw>",
database: "<db>",
port: "<port>"
});
connection.connect(function(err){
if(err){
console.log('Error connecting to Db');
return;
}
});
prompt.start();
prompt.get(['Client'], function (err, result) {
if (err) { console.log("Error");
return;
};
connection.query("select * from ACHLookerUpper where Client = ?", [result.Client], exports.MyHandler = function(err, rows){
if (err) {
console.log(err);
return;
}
rows.forEach(function(result) {
console.log(result.ID, result.Name, result.Client, result.ACH);
})
})
});
connection.end(function(err) {
});
我该如何修复,以便在结束之前循环遍历所有内容? – DomLaM
你可以尝试在'prompt.get()'回调中移动它,但在你调用'connection.query()'之后。在connection.query()之后调用'connection.end()'将允许所有排队的查询在关闭连接之前完成。 – mscdex