【发布时间】:2019-02-14 19:30:15
【问题描述】:
我在一个从中打印的数组中有以下内容:
console.log([userData]) //From HTML Form
-------------------------------
[ [ 'test3',
'Alice',
'Weather',
'Bob',
'Doe',
'john.doe@gmail.com',
'Footballer',
'male',
'english',
'married',
'1965-01-02' ] ]
现在我需要将它插入到 mySQL 数据库中,结果是语法错误。我似乎不明白的是如何以 mySQL 可以“理解”的方式格式化数组
var sql = "INSERT INTO users (uid,FirstName,LastName,MotherName,FatherName,Email,Profession,Gender,MaritalStatus,Birthday) VALUES ?";
con.query(sql, "'" + userData.join() + "'", function(err) {
if (err) throw err;
console.log("inserted")
});
输出:
错误:ER_PARSE_ERROR:您的SQL 语法有错误;查看 与您的 MySQL 服务器版本相对应的手册 附近使用的语法 ''\'test3,Alice,Weather,Bob,Doe,john.doe@gmail.com,Footballer,male,english,married,1965-01-02' 在第 1 行
谢谢。
【问题讨论】:
-
userdata中的english是什么?您在数据库中有相应的列吗?这就是问题所在。表中的列数和您传递的值数不同。 -
@HarshilDoshi 如果这是错误,那将是错误消息。
-
@HarshilDoshi 大获成功!这也是我忘记浏览的问题之一。
标签: mysql node.js passport.js