Javascript 如何在NodeJS中的MySQL查询中使用多个变量

Javascript 如何在NodeJS中的MySQL查询中使用多个变量,javascript,mysql,json,node.js,server-side,Javascript,Mysql,Json,Node.js,Server Side,我试图将学生数据插入到一个表中,并将父键作为外键。父数据在同一个JSON对象中发送,其中包含一个student数组。我想通过将父数据写入数据库来选择发送的同一对象的父Id,然后选择地址和名字与发送的相同的Id。另外,如果你认为我应该用一种更有效的方式来做,那也很受欢迎。另外,我对node和http服务器的工作方式也相当陌生。 获取JSON对象的代码 router.post('/scholarship', function(req, res) { //post request

我试图将学生数据插入到一个表中,并将父键作为外键。父数据在同一个JSON对象中发送,其中包含一个student数组。我想通过将父数据写入数据库来选择发送的同一对象的父Id,然后选择地址和名字与发送的相同的Id。另外,如果你认为我应该用一种更有效的方式来做,那也很受欢迎。另外,我对node和http服务器的工作方式也相当陌生。 获取JSON对象的代码

router.post('/scholarship', function(req, res) {            //post request to /members... use as model for /application, etc
console.log('post to api/scholarship');
console.log(req);          //req.body is the data you handle (save to mysql database)
res.send(req.body);
scholarReq = (req.body);});
用于写入数据库的代码

function insertIntoStudent(jsonpack){
var parentId;
parentId = connectToDatabase.query("SELECT memberId FROM Members WHERE address = ? AND firstName = ?", [jsonpack.user.address , jsonpack.user.firstName]);
for (var i = 0; i > jsonpack.user.students.length; i++){
    if (jsonpack.user.student[i].first != ""){
        connectToDatabase.query("INSERT INTO Students(firstName) VALUES (?)",[jsonpack.user.student[i].first]);
    }
    if (jsonpack.user.student[i].last != ""){
        connectToDatabase.query("INSERT INTO Students(lastName) VALUES (?)",[jsonpack.user.student[i].last]);
    }
    if (jsonpack.user.student[i].grade != ""){
        connectToDatabase.query("INSERT INTO Students(grade) VALUES (?)",[jsonpack.user.student[i].grade]);
    }
    if (jsonpack.user.student[i].unit != ""){
        connectToDatabase.query("INSERT INTO Students(unit) VALUES (?)",[jsonpack.user.student[i].unit]);
    }
}   

任何帮助都很好。谢谢你的时间

如果我正确理解你的问题,你的意思是这样的

for (var i = 0; i > jsonpack.user.students.length; i++){
    var user = jsonpack.user.student[i];
    connectToDatabase.query("INSERT INTO Students(firstName,lastname,grade,unit) VALUES (?,?,?,?),[user.first,user.last,user.grade,user.unit])
}   

我的意思是,如果参数化选项不起作用,您可以始终退回到connection.escape(…)