Javascript for循环似乎没有改变'i'的值?

时间:2013-07-25 22:47:53

标签: javascript mysql node.js for-loop

我正在尝试运行这个循环,我希望'i'的值能够改变。

但是,对于循环的所有4次迭代,该值似乎都被置于零。

for(var i=0;i<5;i++){

        client.query('SELECT curattend FROM table1 WHERE ind=("++i++")', function(err,result){
        att = result[0].curattend;
        console.log(att)
        });
}

有没有人对为什么会这样做有任何建议?谢谢!

2 个答案:

答案 0 :(得分:4)

您的查询中未包含变量i,您只是查询了硬编码字符串("++i++")

此:

client.query('SELECT curattend FROM table1 WHERE ind=("++i++")', function(err,result){

应该是:

client.query('SELECT curattend FROM table1 WHERE ind = ?', [i], function(err,result){

答案 1 :(得分:2)

你把“++ i ++”放在一个用单个qoutes(')括起的字符串中。您也必须使用单引号来转义字符串。

使用此:

client.query('SELECT curattend FROM table1 WHERE ind=('+i+')', function(err,result){