所以我尝试在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。
答案 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
,并且可能无效,具体取决于表中是否存在列约束。