Javascript 使用node.js将行插入MySQL数据库时出现ER_PARSE_错误
试图使用node.js向mysql表中添加行,但始终出现语法错误。node/express和MySQL都是新手(几天前下载了这两个版本的最新版本)。我已经将我的代码与其他示例进行了比较,但无法找出是什么导致了我一生中的错误。下面是代码和控制台输出Javascript 使用node.js将行插入MySQL数据库时出现ER_PARSE_错误,javascript,mysql,node.js,Javascript,Mysql,Node.js,试图使用node.js向mysql表中添加行,但始终出现语法错误。node/express和MySQL都是新手(几天前下载了这两个版本的最新版本)。我已经将我的代码与其他示例进行了比较,但无法找出是什么导致了我一生中的错误。下面是代码和控制台输出 const express = require('express'); const router = express.Router(); const bcrypt = require('bcryptjs'); const passport = requ
const express = require('express');
const router = express.Router();
const bcrypt = require('bcryptjs');
const passport = require('passport');
const mysql = require('mysql');
const con = mysql.createConnection({
host: 'localhost',
user: 'theuser',
password: 'thepassword',
database: 'thedatabase'
});
con.connect(function(err) {
if (err) throw err;
console.log('User Connected!');
});
const date1 = new Date();
const newUser = {
first_name: first_name1,
last_name: last_name1,
email: email1,
password: password1,
date: date1
};
const newUser_val = Object.values(newUser)
console.log(newUser_val)
const sql = "INSERT INTO webusers (first_name, last_name, email, password, register_date) VALUES ?";
con.query(sql, [newUser_val], function (err, result, fields) {
if(result) {
req.flash('success_msg', 'You are now registered');
res.redirect('../')
} else {
console.log(err);
};
});
下面是相关的控制台输出
User Connected!
[
'Pete',
'Sample',
'pete@gmail.com',
'$2a$10$6ufJWiCaubg8WjE.0AHqrOFi0z3W97mSN48v.vdO7pcl20ZPRBhXW',
2020-03-31T18:54:16.474Z
]
code: 'ER_PARSE_ERROR',
errno: 1064,
sqlMessage: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Pete', 'Sample', 'pete@gmail.com', '$2a$10$6ufJWiCaubg8WjE.0AHqrOFi0z3W97mSN48v' at line 1", sqlState: '42000',
index: 0,
sql: "INSERT INTO webusers (first_name, last_name, email, password, register_date) VALUES 'Pete', 'Sample', 'pete@gmail.com', '$2a$10$6ufJWiCaubg8WjE.0AHqrOFi0z3W97mSN48v.vdO7pcl20ZPRBhXW', '2020-03-31 14:54:16.474'"
}
我不知道为什么我的问题在没有任何评论的情况下被否决了,但唉,我明白了。“?”需要括号,如下代码所示:
var sql = "INSERT INTO webusers (first_name, last_name, email, password, register_date) VALUES ( ? );";
很多例子中都缺少这些括号,它们是使我的代码正常工作所必需的。。。希望能有帮助