Tengo esta función a continuación:
let username = req.session.username; let timeoflogin = new Date().toLocaleString(); let device = req.headers['user-agent']; let thequery = query; let location = 'n/a'; var insertAnalyticsLogin = "insert into ANALYTICS (username, location, device, query, timeoflogin) VALUES ('" + username + "', '" + location + "', '" + device + "', '" + thequery + "', '" + timeoflogin + "')" console.log(insertAnalyticsLogin); mysqlconn.connect(function(err) { if (err) { console.error('Database connection failed: ' + err.stack); return; } mysqlconn.query(insertAnalyticsLogin, function(err, rows) { if (err) { console.log(err); } else { console.log("successfully inserted into analytics") res.redirect('/gen_trainerclientlist') } mysqlconn.end(); }); }); y dentro de thequery , contiene mi consulta de la función anterior. Se ve algo como esto:
"insert into USERS (FIRST_NAME, LAST_NAME, USERNAME, USER_ROLE, REGISTER_DATE, PHONE_NUMBER, SUB_STATUS, ASSIGNED_TRAINER) VALUES ('" + clientDetails.inputFirstName + "', '" + clientDetails.inputLastName + "', '" + clientDetails.inputUsername + "','CLIENT','" + currentDate + "', '" + clientDetails.inputPhoneNumber + "','INACTIVE','" + req.session.username + "')"el error que estoy recibiendo con esto es:
sqlMessage: "Tiene un error en su sintaxis SQL; consulte el manual que corresponde a la versión de su servidor MySQL para conocer la sintaxis correcta para usar cerca
por lo que parece, lo que sucede es que está tratando de insertar thequery nuevamente en mi base de datos, o no le gusta la sintaxis que le estoy proporcionando. Así que me preguntaba cuál sería la mejor manera de hacerlo. ¿Debería obligar a que la consulta sea una cadena, de modo que obligue a que todo se thequery , o estoy haciendo esto de manera incorrecta?