SyntaxError:javascript中缺少参数列表

SyntaxError:javascript中缺少参数列表,javascript,mysql,node.js,syntax-error,Javascript,Mysql,Node.js,Syntax Error,这是一个错误,但我无法指出它。从phpmyadmin SQL控制台运行时,查询运行fint var query = connection.query('Select distinct a.*, IFNULL(b.scannerid,'Not Available') AS `scannerid`, IFNULL(date(b.datetime),'Not Available') as datetime, IFNULL(b.status,'Absent') AS `status` from stud

这是一个错误,但我无法指出它。从phpmyadmin SQL控制台运行时,查询运行fint

var query = connection.query('Select distinct a.*, IFNULL(b.scannerid,'Not Available') AS `scannerid`, IFNULL(date(b.datetime),'Not Available') as datetime, IFNULL(b.status,'Absent') AS `status` from studentdetails a LEFT OUTER JOIN discovereddevices b ON a.bluetoothid = b.blueid and date (b.datetime) = CURRENT_DATE',function(err,rows)
错误:

SyntaxError: missing ) after argument list
        at createScript (vm.js:53:10)
        at Object.runInThisContext (vm.js:95:10)
        at Module._compile (module.js:543:28)
        at Object.Module._extensions..js (module.js:580:10)
        at Module.load (module.js:488:32)
        at tryModuleLoad (module.js:447:12)
        at Function.Module._load (module.js:439:3)
        at Module.require (module.js:498:17)
        at require (internal/module.js:20:19)
        at Object.<anonymous> (/home/ubuntu/Attendance system/app.js:13:24)
引号的错误用法 尝试使用反勾号(`)

例如:

exports.getattendance = function(req, res){

     req.getConnection(function(err,connection){  
            var query = connection.query(`Select distinct a.*, IFNULL(b.scannerid,'Not Available') AS 'scannerid', IFNULL(date(b.datetime),'Not Available') as datetime, IFNULL(b.status,'Absent') AS 'status' from studentdetails a LEFT OUTER JOIN discovereddevices b ON a.bluetoothid = b.blueid and date (b.datetime) = CURRENT_DATE()`,
            function(err,rows)
                if(err)
                    console.log("Error Selecting : %s ",err );
                res.render('showreport',{page_title:"Attendance Report Generated",data:rows});

             });

             //console.log(query.sql);
        });

    };
编辑:


另外,CURRENT_DATE()应该是一个函数

看看嵌套的singleProblem区域是引号,转义,即
\'notavailable\'
您不能用换行符打断字符串。阅读Javascript中的多行字符串vm.js的第53行是什么?正如@dfsq所说,不能在单引号或双引号字符串中使用换行符。如果您使用ES2015添加的新反勾选样式,您可以使用它们,或者您需要用结束引号结束每一行,然后用另一个字符串继续下一行。您也可以用\结束每一行,以便在下一行继续该字符串,但不建议这样做,因为\之后的任何不可见空格都会打断它,并导致难以诊断的错误。不走运!还是错误persists@yuvasreekalaiselvan你能试一下编辑后的答案吗谢谢!它工作完美@yuvasreekalaiselvan您可以接受作为答案并投票:D
exports.getattendance = function(req, res){

     req.getConnection(function(err,connection){  
            var query = connection.query(`Select distinct a.*, IFNULL(b.scannerid,'Not Available') AS 'scannerid', IFNULL(date(b.datetime),'Not Available') as datetime, IFNULL(b.status,'Absent') AS 'status' from studentdetails a LEFT OUTER JOIN discovereddevices b ON a.bluetoothid = b.blueid and date (b.datetime) = CURRENT_DATE()`,
            function(err,rows)
                if(err)
                    console.log("Error Selecting : %s ",err );
                res.render('showreport',{page_title:"Attendance Report Generated",data:rows});

             });

             //console.log(query.sql);
        });

    };