簡體   English   中英

使用提示用戶輸入查詢MySQL(Node.js)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM