Node.js values not inserting into database

Viewed 26

I'm trying to insert values from the socket emit to my database.

here is my code :

socket.on("chat message", (data) => {

      var sql = "INSERT INTO tbl_user_chats (sender,receiver,message,created_at,ad_id,category_id) VALUES ('data.sender', 'data.receiver', 'data.message', 'data.date', 'data.ad_id', 'data.category_id')";
      con.query(sql, function (err, result) {
      if (err) throw err;
        console.log("1 record inserted");
      });

  
    })

My data console output :

{
  sender: 735,
  receiver: 1474,
  message: 'sd',
  ad_id: 173,
  category: 3,
  date: 1663133868949
}

When it inserts into database the values not storing. it stores like this

This is how the data getting inserted

1 Answers

I would suggest you to use Prepared_statement to do it

socket.on("chat message", (data) => {
      
      var params =[data.sender,data.receiver,data.message,data.created_at,data.ad_id,data.category_id];
      var sql = "INSERT INTO tbl_user_chats (sender,receiver,message,created_at,ad_id,category_id) VALUES (?, ?, ?, ?, ?, ?)";
      con.query(sql,[params], function (err, result) {
      if (err) throw err;
        console.log("1 record inserted");
      });
  
  })
Related