Search code examples
mysqlnode.jsfetch

My database records all values ​to 0 when I post from fetch. Node.js mySql


Here I have the backend code:

router.post('/user', (req,res)=>{
 const {Id_document, Email, Password} = req.body;
 let user= {Id_document, Email, Password};
 let newUser = `INSERT INTO User (Id_document, Email, Password) VALUES (Id_document, Email, Password)`; 
 mysqlConnection.query(newUser, user, (err, results, fields) => {
   if (err) {
     return console.error(err.message);
   }
   res.json({ message: req.body, })
   });
 });  

I have also tried replacing the VALUES with "?"

 router.post('/user', (req,res)=>{
 const {Id_document, Email, Password} = req.body;
 let user= {Id_document, Email, Password};
 let newUser = `INSERT INTO User (Id_document, Email, Password) VALUES (?)`; 
 mysqlConnection.query(newUser, user, (err, results, fields) => {
   if (err) {
     return console.error(err.message);
   }
   res.json({ message: req.body, })
   });
 });  

The values ​​that the database records are 0:

  {
    "Id_document": 0,
    "Email": "0",
    "Password": 0
  },

Help, I don't know what I'm doing wrong.

Thank you


Solution

  • let newUser = `INSERT INTO User (Id_document, Email, Password) VALUES ("` + user.Id_document + `", "` + user.Email + `", "` + user.Password + `")`;
    

    You need to build a complete Query string. By adding the user's values into the Query string.