服务器版本,以便在第1行''''testusername \'\'附近使用正确的语法

时间:2018-03-21 21:45:18

标签: mysql node.js express

所以我尝试在sql数据库上保存一些数据(用户数据),我有这个错误。我试着把一些引号等等。

但是当我尝试时,我会得到这个错误,你可以帮我吗?

由于

错误:'您的SQL语法出错;检查与您的MariaDB服务器版本对应的手册,以便在第1行''testusername''附近使用正确的语法}}

日志:

testusername

test

testname1

testpassword

test@gmail.com

1f134419-14c5-439e-95a5-a46d675085bd


Connected!

--> ComQueryPacket

ComQueryPacket {

command: 3,

sql: 'INSERT INTO utilisateurs (nomutilisateur, Nomfamille, prenomutilisateur, mdp, email, setup, token) VALUES 'testusername'' }


<-- ErrorPacket

ErrorPacket {

fieldCount: 255,

errno: 1064,

sqlStateMarker: '#',

sqlState: '42000',

message: 'You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''testusername'' at line 1' }


/home/gaspard/Bureau/Gaspard/inscription/node_modules/mysql/lib/protocol/Parser.js:80

throw err; // Rethrow non-MySQL errors

^


TypeError: this._callback.apply is not a function


and The source code (I can't show all the code because is confidential)


    var pseudo = req.body.pseudo

console.log(pseudo);

var data2 = req.body.nomfamille


console.log(data2);


var data3 =  req.body.prenom


console.log(data3);

var data5 = req.body.mdp


console.log(data5);


var data6 = req.body.email


console.log(data6);

var token = uuid.v4();


   var setup = setup



   console.log(token);



  con.connect(function(err) {

if (err) throw err;

console.log("Connected!");

var sql = 'INSERT INTO utilisateurs (nomutilisateur, Nomfamille, prenomutilisateur, mdp, email, setup, token) VALUES ?';

con.query(sql,[pseudo],[data2],[data3],[data5],[setup],[token], function (err, result) {

console.log(err);


I try this code :


con.query('INSERT INTO utilisateurs (nomutilisateur, Nomfamille, prenomutilisateur, mdp, email, setup, token) VALUES ?', pseudo,data2,data3,data5,data6,token,setup, function(err, result) {


and :


con.query('INSERT INTO utilisateurs (nomutilisateur, Nomfamille, prenomutilisateur, mdp, email, setup, token) VALUES ?', '"+pseudo"','"+data2"','"+data3"','"+data5"','"+data6"','"+token"','"+setup"', function(err, result) {

我使用最新版本的node sql,node js和npm。

1 个答案:

答案 0 :(得分:0)

您似乎没有将VALUES包裹在括号中

INSERT INTO utilisateurs
  (nomutilisateur, Nomfamille, prenomutilisateur, mdp, email, setup, token) 
VALUES 'testusername'

应该是

INSERT INTO utilisateurs
  (nomutilisateur, Nomfamille, prenomutilisateur, mdp, email, setup, token)
VALUES ('testusername')

您可能还想从insert statement子句中指定所有值。否则它将默认为NULL,并且可能无效,具体取决于表中是否存在列约束。

参考