![](/img/trans.png)
[英]node.js mysql query product_id response "code": "ER_BAD_FIELD_ERROR" "errno": 1054
[英]SQl not accepting insert query in node js throws ER_BAD_FIELD_ERROR
const axios = require('axios');
const mysql = require('mysql');
var con = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'YEX8QHOG@a',
database: 'test',
});
con.connect((err) => {
if (err) {
throw err;
}
console.log('Connected...');
});
let createTable = 'CREATE TABLE employee(id VARCHAR(5),empname VARCHAR(30),empsal VARCHAR(30),empage VARCHAR(30))';
con.query(createTable, function (err, result, feilds) {
if (err) {
throw err;
}
console.log('Db Created');
console.log(result);
});
function setData(id, empname, empsal, empage) {
let query = `INSERT INTO employee (id,empname,empsal,empage) VALUES (${id},${empname},${empsal},${empage})`;
con.query(query, function (err, result) {
if (err) {
throw err;
} else {
console.log('Data insert', id);
console.log(result);
}
});
}
async function putData() {
let url = 'http://dummy.restapiexample.com/api/v1/employees';
let data = await axios.get(url);
let dataarr = await data.data.data;
console.log(dataarr);
setData('1', 'Karan', '36000', '20');
dataarr.map((emp) => {
setData(emp.id, emp.employee_name, emp.employee_salary, emp.employee_age);
console.log(typeof emp.id, typeof emp.employee_name, typeof emp.employee_salary, typeof emp.employee_age);
});
}
putData();
代碼:'ER_BAD_FIELD_ERROR',errno:1054,sqlMessage:“'字段列表'中的未知列'Karan'”,sqlState:'42S22',索引:0,sql:'INSERT INTO員工(id,empname,empsal,empage)值 (1,Karan,36000,20)'
當我傳遞值時,他們會為員工姓名拋出此錯誤
我建議使用參數,這也有其他好處(特別是防止 SQL 注入),
這記錄在: mysql#escaping-query
您可以輕松更改 function setData 來執行此操作:
function setData(id, empname, empsal, empage) {
let query = `INSERT INTO employee (id,empname,empsal,empage) VALUES (?,?,?,?)`;
let parameters = [id, empname, empsal, empage];
con.query(query, parameters, function (err, result) {
if (err) {
throw err;
} else {
console.log('Data insert', id);
console.log(result);
}
});
}
let query = `INSERT INTO employee (id,empname,empsal,empage) VALUES ('${id}','${empname}','${empsal}','${empage}')`;
對任何類型的數據 '${id}' 使用引號
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.