【问题标题】:Can not write data into mySql from node.js无法从 node.js 将数据写入 mySql
【发布时间】:2022-01-14 05:00:13
【问题描述】:

在我进行测试运行之前一切正常,但知道当我尝试插入新的静态数据时,它表示结果未定义。 如何解决这个问题?

const mysql = require("mysql")
const con = mysql.createConnection({
    host:"localhost",
    user:"root",
    password:"",
    database:"magebitdb"
});

con.connect((err)=>{
    if(err) throw err;
    console.log("connected to DB");
    

    // const sql =`INSERT INTO subscribers(email) VALUES (${email})`;
    const sqlInsert = ("INSERT INTO subscribers(email) VALUES ?")
    const values=[
        "test value"
    ]
    con.query(sqlInsert,[values],(err,result)=>{
        console.log(`inserted data is: ${result}`);
        console.log(values);
    });
});

【问题讨论】:

  • values 已经是一个数组,你不需要用[values]把它放到另一个数组中
  • 不确定插入[[values]]是否正常?不应该是[values]吗?
  • @Barmar 出现同样的错误
  • 可能有错误,您应该检查是否设置了err并打印出来。
  • if (err) throw err;

标签: javascript mysql node.js


【解决方案1】:

我已经找到了解决这个错误的方法。

我在con.query 中记录了err 控制台,我注意到错误中没有括号,这导致SQL 语法错误。

基本上,我在sqlInsert 中添加了括号,它起作用了 const sqlInsert = ("INSERT INTO subscribers(email) VALUES (?)")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-14
    • 1970-01-01
    • 2012-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多