Javascript 获取SyntaxError:缺少)后参数列表 var记录=”; 对于(变量i=0;i

Javascript 获取SyntaxError:缺少)后参数列表 var记录=”; 对于(变量i=0;i,javascript,sql,sequelize.js,Javascript,Sql,Sequelize.js,错误出现在带有wierd引号的select语句中 var records = ""; for(var i = 0; i < activity.length; i++) { sequelize.query("SELECT * from users WHERE city = '"+city+"'" AND categories LIKE CONCAT('%', activity[i], '%')"", { type: sequelize.QueryTypes.SELECT}) .the

错误出现在带有wierd引号的select语句中

var records = "";
for(var i = 0; i < activity.length; i++) {
sequelize.query("SELECT * from users WHERE city = '"+city+"'" AND categories LIKE CONCAT('%', activity[i], '%')"", { type: sequelize.QueryTypes.SELECT})
    .then(function(logs){ 
        records += logs;
        matchCount += logs.length;

    }); 
}

console.log("--------------------------Priniting matched users-----------------------");
console.log(records);

//INSERT DATA TO SQL

sequelize.query("INSERT INTO users(name, lastname, email, phone, city, categories, createdAt, updatedAt) VALUES ('"+req.body.first_name+"', '"+req.body.last_name+"', '"+req.body.email+"',  '"+req.body.tel+"', '"+req.body.city+"', , '"+JSON.stringify(activity)+"', 'test', 'test')");
var记录=”;
对于(变量i=0;i
你必须更加注意字符串引号,你把
city
的结束简单引号和
和categories
部分搞砸了

应该是这样的:

var records = "";
for (var i = 0; i < activity.length; i++) {
    sequelize.query("SELECT * from users WHERE city = '" + city + "'AND categories LIKE CONCAT('%', activity[i], '%')", {
            type: sequelize.QueryTypes.SELECT
        }).then(
        function(logs) {
            records += logs;
            matchCount += logs.length;
        });
}

console.log("--------------------------Priniting matched users-----------------------");
console.log(records);

//INSERT DATA TO SQL

sequelize.query("INSERT INTO users(name, lastname, email, phone, city, categories, createdAt, updatedAt) VALUES ('" + req.body.first_name + "', '" + req.body.last_name + "', '" + req.body.email + "', '" + req.body.tel + "', '" + req.body.city + "', , '" + JSON.stringify(activity) + "', 'test', 'test')");

另外,在将变量连接到SQL字符串查询中时要小心,如果不清理它们,可能会成为循环中的
sequelize.query
调用的受害者。语法突出显示对您来说合适吗?一个好的语法突出显示编辑器会对您有所帮助。特别是如果编辑器本身也有任何类型的错误检查。打字:
“+city+”“
我打赌它会给出一个行号,champ
sequelize.query("SELECT * from users WHERE city = '"+city+"' AND categories LIKE CONCAT('%', activity[i], '%')", { type: sequelize.QueryTypes.SELECT})