Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.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 ER_PARSE_ERROR node.js和mysql问题(插入)_Javascript_Mysql_Node.js_Syntax Error - Fatal编程技术网

Javascript ER_PARSE_ERROR node.js和mysql问题(插入)

Javascript ER_PARSE_ERROR node.js和mysql问题(插入),javascript,mysql,node.js,syntax-error,Javascript,Mysql,Node.js,Syntax Error,我想在Node.js和MySQL中使用socket.io时,对Node.js进行简单的插入。不知道为什么,但我有这个错误 您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解第1行“markos”附近使用的正确语法 我的代码: 当我尝试这个时,我得到了上面的错误 io.on("connection", function(socket){ console.log("a user is connected " + socket.id )

我想在Node.js和MySQL中使用socket.io时,对Node.js进行简单的插入。不知道为什么,但我有这个错误

您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解第1行“markos”附近使用的正确语法

我的代码:
当我尝试这个时,我得到了上面的错误

io.on("connection", function(socket){
console.log("a user is connected " + socket.id );


    socket.on("question", function (question){

        let sql = "INSERT INTO nodeJs (name) VALUES ?";

        con.query(sql, question, function (err) {
            if (err) throw err;
            console.log("1 record inserted");
        });


    });

  });
});
如果我尝试这段简单的代码,一切正常:

io.on("connection", function(socket){
console.log("a user is connected " + socket.id );


    socket.on("question", function (question){

        let sql = "INSERT INTO nodeJs (name) VALUES ('John')";

        con.query(sql, function (err) {
            if (err) throw err;
            console.log("1 record inserted");
        });

    });

 });
});

问题参数始终有一个字符串。

值周围缺少括号:

let sql=“插入节点(名称)值(?”;
//这里------------------------------------^-^

试试这个:让sql=“插入nodeJs(name)值(“+question+”)”;。请注意简单的引号“”,为了避免sql注入,我不建议这样做。我简直不敢相信我错过了这个!我还在学习node.js,还在学校学习。他们不像你那样插括号。。无论如何,非常感谢你的支持time@Markos是的,有括号,因为mysql需要then@Markos仅使用以下语法跳过括号:
INSERT INTO nodeJs SET name=?
,其中在quesiton标记周围也不使用单引号