mysql - 在nodejs中正确插入mysql?
问题描述
我试图让我的 nodejs 插入到我的 mysql 数据库中,但我遇到了解析错误。如果有人可以看到错误,请提供帮助:
var con = mysql.createConnection({
host: "XXX",
user: "XXX",
password: "XXX",
database: "XXX"
});
con.connect(function(err) {
if (err) throw err;
console.log("Connected!");
var sql;
if(req.body.role == "tutor")
{
sql = 'INSERT INTO Tutor (sesh_save) VALUES ? ';
}
else if(req.body.role == "student")
{
sql = 'INSERT INTO Students (sesh_save) VALUES ?';
}
var yoy = 'yoy';
con.query(sql, yoy, function (err, result) {
if (err) throw err;
console.log("1 record inserted");
});
错误:ER_PARSE_ERROR:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 ''yoy'' 附近使用正确的语法
再次感谢...对不起,如果这是一个愚蠢的问题,但 mysql 插入对我来说始终是最难调试的事情。
解决方案
con.query 中的第二个参数在您的情况下需要是一个数组:
在 yoy 变量周围添加数组括号 [ ]
con.query(sql, [yoy], function (err, result) {
if (err) throw err;
console.log("1 record inserted");
});
如果您不想使用数组括号,或者在值中添加括号 ( ),
用以下内容替换您的 sql 行 -
if (req.body.role == "tutor") {
sql = 'INSERT INTO Tutor (sesh_save) VALUES (?) ';
}
else if (req.body.role == "student") {
sql = 'INSERT INTO Students (sesh_save) VALUES (?) ';
}
推荐阅读
- python - 如何将 Pandas 中的非零条目转换为带有列表的 dict?
- android - 单击后突出显示 ActionMenuView 中的菜单项
- c# - 实体框架 (MVC) - 为具有受保护属性的模型创建控制器时出现问题
- python - 如何编写带循环的函数
- mysql - 我需要为同一列使用 2 个索引还是一个就足够了?
- excel - excels“文件来源”的熊猫等价物
- css - css grid - 让网格向下而不是跨越五个相等的列
- php - 如何在 PHP 中安排定期更新 MySQL 数据库?
- javascript - 在 tensorflow JavaScript 中使用posenet时内存泄漏
- groovy - 在 groovy 中,如何返回零填充范围?