簡體   English   中英

如何從Mysql連接的響應中獲取數據

[英]How to get data from response of Mysql connection

我想知道數據庫中是否有名稱為xyz@abc.com的電子郵件標識的現有用戶。

function isDuplicateUser(emailId)
{
  var sql='SELECT count(*) FROM UserDetails WHERE emailId ="'+emailId+'";';
  var con = mysql.createConnection({
    host:"localhost",
    user: "root",
    password: "32577488",
    database:"mydb"
  });
  con.connect(function(err) {
    con.query(sql, function (err, result) {
      if (err) throw err;
      console.log("Inside Duplicate check");
      console.log(result[0]);
      console.log(result.count);
      console.log(result[0].emailId);
      console.log(result[0].count);
      console.log("1 record inserted");
    });
  });
}

但是在所有console.log語句中,我都變得不確定! 我想到了使用count,以便如果存在大於0的用戶,則存在具有該userid的用戶! 請幫我 ! 我也有另一個疑問,可以在每個功能中建立連接! 喜歡注冊

    function signup(email,password,name)
    {
       var sql =''....;
       //getting connection once

    }
function signin(emailid,password)
{
    //getting connection here 
    return success;
}

似乎代碼正在被復制很多次!

請嘗試使用此sql語句,並讓我知道結果:

// replace your var sql with this one
const sql = `SELECT count(*) FROM UserDetails WHERE emailId = '${emailId}'`;

另一方面,關於如何管理每個功能中的連接,我的建議是在您的應用中創建一個連接池,並從您需要的每個功能上從該池中獲取一個連接(您需要注意在完成后釋放連接)使它們可用於新的傳入請求):

// connection first time when node starts
const options = {
  connectionLimit: 10,
  host: HOST,
  user: USER,
  password: PASSWORD,
  database: DATABASE,
  port: 3306,
  timezone: 'Z',
  // debug: true,
  multipleStatements: true,
  // ...azureCertificate && sslOptions,
};

const pool = mysql.createPool(options);

// on each function, get a connection from the pool using this function
getConnection() {
  return new Promise((resolve, reject) => {
    if (pool === null) {
      return reject(new Error(`MySQL connection didn't established. You must connect first.`));
    }

    pool.getConnection((err, connection) => {
      if (err) {
        if (connection) {
          connection.release();
        }

        return reject(err);
      }

      return resolve(connection);
    });
  });
}

希望這可以幫助。

這個例子是使用npm軟件包mysql制作的https ://www.npmjs.com/package/mysql

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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