[英]Query MySQL using Prompt user input (Node.js)
我試圖允許用戶為我的應用程序輸入條件(即客戶端)來查詢mySQL數據庫並返回所有匹配的結果。 建立了我的連接,並且可以對查詢進行硬編碼(connection.query(“從Client =?” [[ex。“]的ACHLookerUpper中選擇*))並返回預期的結果。我也可以簡單地運行Prompt命令並獲取和console.log我的輸入。
但是,當我嘗試將兩者(通過提示和查詢獲取用戶輸入)結合起來時,我無法成功將輸入傳遞給查詢。 我對Node有點陌生,因此我可以肯定嵌套中存在問題,但是該錯誤除了告訴我“調用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) {
});
prompt.get()
是異步的,因此首先會調用connection.end()
,然后在收到提示輸入但您的連接已經結束時,稍后嘗試執行查詢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.