Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将mysql值存储到变量中?_Javascript_Mysql_Node.js_Mysqli - Fatal编程技术网

Javascript 如何将mysql值存储到变量中?

Javascript 如何将mysql值存储到变量中?,javascript,mysql,node.js,mysqli,Javascript,Mysql,Node.js,Mysqli,我想将mysql查询中的检索值存储到一个变量中,以便将该值插入到另一个表中 下面是检索该值的查询 connectionSelectPackageId.connect(); let sqlSelectPackageId = "SELECT MAX(packageId) as maxId FROM recipients"; connectionSelectPackageId.query(sqlSelectPackageId, function(err, rows){ if(err

我想将mysql查询中的检索值存储到一个变量中,以便将该值插入到另一个表中

下面是检索该值的查询

connectionSelectPackageId.connect();

  let sqlSelectPackageId = "SELECT MAX(packageId) as maxId FROM recipients";

    connectionSelectPackageId.query(sqlSelectPackageId, function(err, rows){
  if(err) {
    throw err;
  } else {

      for(var i=0; i< rows.length; i++) {

          console.log(rows[i].maxId);
  };
  };
});


    connectionSelectPackageId.end();
我希望存储的值能够通过连接的结尾(
connectionSelectPackageId.end();

提前谢谢

connectionInsert.connect()


数据是在第一个查询或
行[i].maxId中使用Promise或callback函数获取的值

这就是你想要的吗

connectionSelectPackageId.connect();

var getSomeValues = function getSomeValues() {
    return new Promise(function (resolve, reject) {
        let sqlSelectPackageId = "SELECT MAX(packageId) as maxId FROM recipients";
        connectionSelectPackageId.query(sqlSelectPackageId, function (err, rows) {
            if (err) {
                return reject(err);
            } else {
                return resolve(rows);
            };
        });
    });
}

getSomeValues().then(function(rows) {
    // do something with rows here

}).catch(function (err) {
    console.log(err);
});

connectionSelectPackageId.end();

使用承诺或回调函数

这就是你想要的吗

connectionSelectPackageId.connect();

var getSomeValues = function getSomeValues() {
    return new Promise(function (resolve, reject) {
        let sqlSelectPackageId = "SELECT MAX(packageId) as maxId FROM recipients";
        connectionSelectPackageId.query(sqlSelectPackageId, function (err, rows) {
            if (err) {
                return reject(err);
            } else {
                return resolve(rows);
            };
        });
    });
}

getSomeValues().then(function(rows) {
    // do something with rows here

}).catch(function (err) {
    console.log(err);
});

connectionSelectPackageId.end();

为什么不把它放在一个变量中,这个变量的范围足够广泛,可以满足您的需求(即全局范围)?!只是'var data=rows[i].maxId'我试过了,但似乎该变量只在查询范围内起作用。我用这个var data=rows[i].maxId替换控制台日志,但当我在查询范围外记录控制台日志数据时,它会说这个变量未定义为什么不把它放在一个其范围足够宽的变量中,以满足您的需要(即全局范围)?!just'var data=rows[i]。maxId'i尝试过,但该变量似乎只在查询范围内起作用。我将控制台日志替换为此var data=rows[i].maxId但当我在查询范围外执行控制台日志数据时,它会说此变量未定义,谢谢您。我希望将从查询中获取的值用于后续查询,然后将此值插入到数据库中。我已更新了代码,说明后续查询的外观。现在您可以使用例如:``现在您可以在
中使用第二个查询。然后(函数(行){})
谢谢您的帮助。我希望将从查询中获取的值用于后续查询,然后将该值插入到数据库中。我已更新了我的代码,使后续查询看起来像这样,现在您可以将其用作:``所以现在您可以在
中使用第二个查询。然后(函数(行){})
connectionSelectPackageId.connect();

var getSomeValues = function getSomeValues() {
    return new Promise(function (resolve, reject) {
        let sqlSelectPackageId = "SELECT MAX(packageId) as maxId FROM recipients";
        connectionSelectPackageId.query(sqlSelectPackageId, function (err, rows) {
            if (err) {
                return reject(err);
            } else {
                return resolve(rows);
            };
        });
    });
}

getSomeValues().then(function(rows) {
    // do something with rows here

}).catch(function (err) {
    console.log(err);
});

connectionSelectPackageId.end();