Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 行上的值计算错误:但我可以';你看不出有什么问题吗?_Mysql_Database - Fatal编程技术网

Mysql 行上的值计算错误:但我可以';你看不出有什么问题吗?

Mysql 行上的值计算错误:但我可以';你看不出有什么问题吗?,mysql,database,Mysql,Database,我试图通过Express将数据插入MySQL,数据库表如下所示: create table foods (name VARCHAR(100), typval DECIMAL(8, 2), unit VARCHAR(50), calories DECIMAL(5, 2), carbs DECIMAL(5, 2), fat DECIMAL(5,2), protein DECIMAL(5, 2), salt DECIMAL(5, 2), sugar DECIMAL(5, 2)); 我有一个收集用户数

我试图通过Express将数据插入MySQL,数据库表如下所示:

create table foods (name VARCHAR(100), typval DECIMAL(8, 2), unit VARCHAR(50), calories DECIMAL(5, 2), carbs DECIMAL(5, 2), fat DECIMAL(5,2), protein DECIMAL(5, 2), salt DECIMAL(5, 2), sugar DECIMAL(5, 2));
我有一个收集用户数据的表单,要发布的函数如下所示:

   app.post("/addnewfood", function (req,res) {
    console.log(req.body.name, req.body.typval, req.body.unit, req.body.calories, req.body.carbs, req.body.fat, req.body.protein, req.body.salt, req.body.sugar);
    // saving data in database
    let sqlquery = "INSERT INTO foods (name, typval, unit, calories, carbs, fat, protein, salt, sugar) VALUES (?,?)";
    // execute sql query
    let newrecord = [req.body.name, req.body.typval, req.body.unit, req.body.calories, req.body.carbs, req.body.fat, req.body.protein, req.body.salt, req.body.sugar];
    db.query(sqlquery, newrecord, (err, result) => {
    if (err) {
    return console.error(err.message);
    }else
    res.send("New" + " " + req.body.name + " was added to the database.");
    });
   });
我不确定我错在哪里,因为我计算了9个不同的字段,我需要为9个不同的列填写。我检查了逗号,看不出有什么不对劲

当我尝试输入数据时,比如:“麦当劳汉堡,1.0,汉堡,100.00,10.00,10.00,10.00,1.0,10.00”

console.log可以很好地打印出来,它应该可以工作,但是,我得到:

ER\u错误\u行上的值\u计数\u:列计数与第1行的值计数不匹配


帮助?

您的
INSERT
查询需要为您插入的每一列指定一个占位符。这里只有两个占位符——两个

你需要九个,每列一个

 VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)

askaldlsjd我怎么会错过,太好了,谢谢你!
 VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)