Quiero hacer una inserción simple con Node.js mientras uso socket.io con node.js y MySQL. No sé por qué, pero estoy recibiendo este error.
Tiene un error en su sintaxis SQL; Consulte el manual que corresponde a la versión de su servidor MariaDB para conocer la sintaxis correcta para usar cerca de ''markos'' en la línea 1
Mi código:
Cuando intento esto, obtengo el error anterior.
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"); }); }); }); });si pruebo este código simple, todo funciona bien:
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"); }); }); }); });El parámetro de pregunta siempre tiene una cadena.
Te faltan los paréntesis alrededor de los valores:
let sql = "INSERT INTO nodeJs (name) VALUES (?)"; // Here ------------------------------------^-^