繁体   English   中英

使用 node.js 将行插入 MySQL 数据库时出现 ER_PARSE_ERROR

[英]ER_PARSE_ERROR when inserting row into MySQL database using node.js

尝试使用 node.js 向 mysql 表添加一行,但不断收到语法错误。 node/express 和 MySQL 的新手(几天前下载了两者的最新版本)。 将我的代码与其他示例进行了比较,但无法弄清楚是什么导致了我一生的错误。 下面的代码和控制台输出。

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 ( ? );";

这些括号在很多例子中都没有,它们是使我的代码工作所必需的……希望它有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM