gpt4 book ai didi

javascript - 无法从 Node 向 mysql 表添加值

转载 作者:行者123 更新时间:2023-12-02 21:54:11 24 4
gpt4 key购买 nike

我想将数据插入到我的表中,当我只需将字符串放入我的值中时,我就可以在 node.js 中执行此操作。

var sql = INSERT INTO teachers (full_name, school, email) VALUES ('alex','bennet','alex@bennet.com);

但是,当我输入 POST 方法创建的值时,它给出了语法错误。

var sql = INSERT INTO teachers (full_name, school, email) VALUES (${teacher.name},${teacher.school},${teacher.email});

  code: 'ER_BAD_FIELD_ERROR',
errno: 1054,
sqlMessage: "Unknown column 'alex' in 'field list'",
sqlState: '42S22',
index: 0,
sql: "INSERT INTO teachers (full_name, school, email) VALUES (alex,bennet,alex@bennet.com) "

我不知道为什么它假定 alex 作为列名而不是值。

最佳答案

直接的问题是您将原始未转义字符串插入到插入查询中,这是行不通的,因为 MySQL 中的字符串文字需要用引号转义。这里最好的解决方法是使用准备好的语句:

let stmt = `INSERT INTO teachers (full_name, school, email) VALUES (?, ?, ?)`;
let pals = ['alex', 'bennet', 'alex@bennet.com'];

connection.query(stmt, vals, (err, results, fields) => {
if (err) {
return console.error(err.message);
}
});

关于javascript - 无法从 Node 向 mysql 表添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60051568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com